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 @@ -131,6 +131,30 @@ class ActiveRecordTest < Minitest::Test
131131 }
132132 )
133133 end
134+
135+ it "marks async queries with async: true" do
136+ skip "Not applicable to older rails" if Rails . version . to_f < 7.1
137+
138+ expected_sql = 'SELECT COUNT(*) FROM "samples"'
139+
140+ messages = semantic_logger_events do
141+ Sample . count
142+ Sample . async_count . value
143+ end
144+ assert_equal 2 , messages . count , messages
145+
146+ messages . each do |message |
147+ assert_semantic_logger_event (
148+ message ,
149+ level : :debug ,
150+ name : "ActiveRecord" ,
151+ message : "Sample Count" ,
152+ payload_includes : { sql : expected_sql }
153+ )
154+ end
155+ refute messages [ 0 ] . payload . key? ( :async )
156+ assert_equal true , messages [ 1 ] . payload [ :async ]
157+ end
134158 end
135159 end
136160end
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