diff --git a/activesupport/lib/active_support/log_subscriber.rb b/activesupport/lib/active_support/log_subscriber.rb index a604da705eb1d..a14d6624311ab 100644 --- a/activesupport/lib/active_support/log_subscriber.rb +++ b/activesupport/lib/active_support/log_subscriber.rb @@ -96,12 +96,6 @@ def logger end end - def error_reporter - @error_reporter ||= if defined?(Rails) - Rails.error - end - end - def attach_to(...) # :nodoc: result = super set_event_levels @@ -145,6 +139,10 @@ def logger LogSubscriber.logger end + def error_reporter + ActiveSupport.error_reporter + end + def silenced?(event) logger.nil? || @event_levels[event]&.call(logger) end diff --git a/activesupport/test/log_subscriber_test.rb b/activesupport/test/log_subscriber_test.rb index 867fd3af2fd28..7e774c15e9b95 100644 --- a/activesupport/test/log_subscriber_test.rb +++ b/activesupport/test/log_subscriber_test.rb @@ -144,10 +144,12 @@ def test_flushes_the_same_logger_just_once end def test_logging_does_not_die_on_failures - ActiveSupport::LogSubscriber.attach_to :my_log_subscriber, @log_subscriber - instrument "puke.my_log_subscriber" - instrument "some_event.my_log_subscriber" - wait + assert_error_reported do + ActiveSupport::LogSubscriber.attach_to :my_log_subscriber, @log_subscriber + instrument "puke.my_log_subscriber" + instrument "some_event.my_log_subscriber" + wait + end assert_equal 1, @logger.logged(:info).size assert_equal "some_event.my_log_subscriber", @logger.logged(:info).last