diff options
author | George Claghorn <[email protected]> | 2019-09-06 18:28:05 -0400 |
---|---|---|
committer | Hiroshi SHIBATA <[email protected]> | 2019-12-10 20:58:25 +0900 |
commit | eb18cb3e476db3bc44d489e090e1535237c4c6c9 (patch) | |
tree | 3cc1b2dce782837be80b310743f1a9f03ec602f8 | |
parent | af11efd377965b6601bb54aa79072ef0789dc525 (diff) |
[ruby/logger] Honor Logger#level overrides
https://github.com/ruby/logger/commit/7365c995bf
-rw-r--r-- | lib/logger.rb | 12 | ||||
-rw-r--r-- | test/logger/test_logger.rb | 15 |
2 files changed, 21 insertions, 6 deletions
diff --git a/lib/logger.rb b/lib/logger.rb index 46cc6cf776..bb4f1159a8 100644 --- a/lib/logger.rb +++ b/lib/logger.rb @@ -304,35 +304,35 @@ class Logger # Returns +true+ iff the current severity level allows for the printing of # +DEBUG+ messages. - def debug?; @level <= DEBUG; end + def debug?; level <= DEBUG; end # Sets the severity to DEBUG. def debug!; self.level = DEBUG; end # Returns +true+ iff the current severity level allows for the printing of # +INFO+ messages. - def info?; @level <= INFO; end + def info?; level <= INFO; end # Sets the severity to INFO. def info!; self.level = INFO; end # Returns +true+ iff the current severity level allows for the printing of # +WARN+ messages. - def warn?; @level <= WARN; end + def warn?; level <= WARN; end # Sets the severity to WARN. def warn!; self.level = WARN; end # Returns +true+ iff the current severity level allows for the printing of # +ERROR+ messages. - def error?; @level <= ERROR; end + def error?; level <= ERROR; end # Sets the severity to ERROR. def error!; self.level = ERROR; end # Returns +true+ iff the current severity level allows for the printing of # +FATAL+ messages. - def fatal?; @level <= FATAL; end + def fatal?; level <= FATAL; end # Sets the severity to FATAL. def fatal!; self.level = FATAL; end @@ -456,7 +456,7 @@ class Logger # def add(severity, message = nil, progname = nil) severity ||= UNKNOWN - if @logdev.nil? or severity < @level + if @logdev.nil? or severity < level return true end if progname.nil? diff --git a/test/logger/test_logger.rb b/test/logger/test_logger.rb index da68e58175..521b5627d4 100644 --- a/test/logger/test_logger.rb +++ b/test/logger/test_logger.rb @@ -363,4 +363,19 @@ class TestLogger < Test::Unit::TestCase r.close assert_equal("msg2\n\n", msg) end + + class CustomLogger < Logger + def level + INFO + end + end + + def test_overriding_level + logger = CustomLogger.new(nil) + log = log(logger, :info) { "msg" } + assert_equal "msg\n", log.msg + # + log = log(logger, :debug) { "msg" } + assert_nil log.msg + end end |