diff options
author | Matthew Draper <matthew@trebex.net> | 2016-11-25 15:57:50 +1030 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-25 15:57:50 +1030 |
commit | f243e7f0d0b2cef350127fd518532fedb65f0bd0 (patch) | |
tree | 66ff7818162b9e6b9b2b905251ac85fb7c33cd41 /activesupport/test | |
parent | 96a2c96ec3616737d2a8eeced57198206ceb9b14 (diff) | |
parent | 308e84e982b940983b4b3d5b41b0b3ac11fbae40 (diff) | |
download | rails-f243e7f0d0b2cef350127fd518532fedb65f0bd0.tar.gz rails-f243e7f0d0b2cef350127fd518532fedb65f0bd0.tar.bz2 rails-f243e7f0d0b2cef350127fd518532fedb65f0bd0.zip |
Merge pull request #26874 from tgxworld/fix_broadcast_logger
`Broadcast#silence` breaks custom loggers that do not include `Logg…
Diffstat (limited to 'activesupport/test')
-rw-r--r-- | activesupport/test/broadcast_logger_test.rb | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/activesupport/test/broadcast_logger_test.rb b/activesupport/test/broadcast_logger_test.rb index d003a33471..184d0ebddd 100644 --- a/activesupport/test/broadcast_logger_test.rb +++ b/activesupport/test/broadcast_logger_test.rb @@ -69,6 +69,20 @@ module ActiveSupport assert_equal ::Logger::FATAL, log2.local_level end + test "#silence does not break custom loggers" do + new_logger = FakeLogger.new + custom_logger = CustomLogger.new + custom_logger.extend(Logger.broadcast(new_logger)) + + custom_logger.silence do + custom_logger.error "from error" + custom_logger.unknown "from unknown" + end + + assert_equal [[::Logger::ERROR, "from error", nil], [::Logger::UNKNOWN, "from unknown", nil]], custom_logger.adds + assert_equal [[::Logger::ERROR, "from error", nil], [::Logger::UNKNOWN, "from unknown", nil]], new_logger.adds + end + test "#silence silences all loggers below the default level of ERROR" do logger.silence do logger.debug "test" @@ -98,9 +112,7 @@ module ActiveSupport assert_equal [[::Logger::FATAL, "seen", nil]], log2.adds end - class FakeLogger - include LoggerSilence - + class CustomLogger attr_reader :adds, :closed, :chevrons attr_accessor :level, :progname, :formatter, :local_level @@ -150,5 +162,9 @@ module ActiveSupport @closed = true end end + + class FakeLogger < CustomLogger + include LoggerSilence + end end end |