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