File tree Expand file tree Collapse file tree 3 files changed +26
-0
lines changed
lib/rails_semantic_logger/active_record Expand file tree Collapse file tree 3 files changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -33,6 +33,7 @@ def sql(event)
3333 log_payload[:binds] = bind_values(payload) unless (payload[:binds] || []).empty?
3434 log_payload[:allocations] = event.allocations if event.respond_to?(:allocations)
3535 log_payload[:cached] = event.payload[:cached]
36+ log_payload[:async] = true if event.payload[:async]
3637
3738 log = {
3839 message: name,
Original file line number Diff line number Diff line change @@ -187,6 +187,30 @@ class ActiveRecordTest < Minitest::Test
187187 }
188188 )
189189 end
190+
191+ it "marks async queries with async: true" do
192+ skip "Not applicable to older rails" if Rails.version.to_f < 7.1
193+
194+ expected_sql = 'SELECT COUNT(*) FROM "samples"'
195+
196+ messages = semantic_logger_events do
197+ Sample.count
198+ Sample.async_count.value
199+ end
200+ assert_equal 2, messages.count, messages
201+
202+ messages.each do |message|
203+ assert_semantic_logger_event(
204+ message,
205+ level: :debug,
206+ name: "ActiveRecord",
207+ message: "Sample Count",
208+ payload_includes: {sql: expected_sql}
209+ )
210+ end
211+ refute messages[0].payload.key?(:async)
212+ assert_equal true, messages[1].payload[:async]
213+ end
190214 end
191215 end
192216end
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ class Application < Rails::Application
1111 # Configure sensitive parameters which will be filtered from the log file.
1212 config.filter_parameters += [:password]
1313 config.active_record.sqlite3.represent_boolean_as_integer = true if config.active_record.sqlite3
14+ config.active_record.async_query_executor = :global_thread_pool
1415
1516 # Settings in config/environments/* take precedence over those specified here.
1617 # Application configuration should go into files in config/initializers
You can’t perform that action at this time.
0 commit comments