diff options
author | Samuel Williams <[email protected]> | 2019-03-15 12:12:11 +1300 |
---|---|---|
committer | Hiroshi SHIBATA <[email protected]> | 2019-07-15 14:43:07 +0900 |
commit | 47500f2055467d0c72c7ce53b2535d7610347fb0 (patch) | |
tree | 0ed25515909fe4070c8c26aa693a352b647ec40c | |
parent | 310198d6be1ca5dc2f1279096d7134a02ee3d8ec (diff) |
[ruby/logger] Add support for changing severity using bang methods.
https://github.com/ruby/logger/commit/ae4c6dfcbb
-rw-r--r-- | lib/logger.rb | 15 | ||||
-rw-r--r-- | test/logger/test_severity.rb | 11 |
2 files changed, 26 insertions, 0 deletions
diff --git a/lib/logger.rb b/lib/logger.rb index 918caf0956..7e65af34eb 100644 --- a/lib/logger.rb +++ b/lib/logger.rb @@ -322,22 +322,37 @@ class Logger # +DEBUG+ messages. 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 + # 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 + # 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 + # 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 + # Sets the severity to FATAL. + def fatal!; self.level = FATAL; end + # # :call-seq: # Logger.new(logdev, shift_age = 0, shift_size = 1048576) diff --git a/test/logger/test_severity.rb b/test/logger/test_severity.rb index f17a392829..8889a1dc52 100644 --- a/test/logger/test_severity.rb +++ b/test/logger/test_severity.rb @@ -13,4 +13,15 @@ class TestLoggerSeverity < Test::Unit::TestCase end assert_equal(levels.size, Logger::Severity.constants.size) end + + def test_level_assignment + logger = Logger.new(nil) + + Logger::Severity.constants.each do |level| + next if level == :UNKNOWN + + logger.send("#{level.downcase}!") + assert(logger.level) == Logger::Severity.const_get(level) + end + end end |