ruby-changes:59168
From: George <ko1@a...>
Date: Wed, 11 Dec 2019 00:31:29 +0900 (JST)
Subject: [ruby-changes:59168] eb18cb3e47 (master): [ruby/logger] Honor Logger#level overrides
https://git.ruby-lang.org/ruby.git/commit/?id=eb18cb3e47 From eb18cb3e476db3bc44d489e090e1535237c4c6c9 Mon Sep 17 00:00:00 2001 From: George Claghorn <george@b...> Date: Fri, 6 Sep 2019 18:28:05 -0400 Subject: [ruby/logger] Honor Logger#level overrides https://github.com/ruby/logger/commit/7365c995bf diff --git a/lib/logger.rb b/lib/logger.rb index 46cc6cf..bb4f115 100644 --- a/lib/logger.rb +++ b/lib/logger.rb @@ -304,35 +304,35 @@ class Logger https://github.com/ruby/ruby/blob/trunk/lib/logger.rb#L304 # 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 https://github.com/ruby/ruby/blob/trunk/lib/logger.rb#L456 # 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 da68e58..521b562 100644 --- a/test/logger/test_logger.rb +++ b/test/logger/test_logger.rb @@ -363,4 +363,19 @@ class TestLogger < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/logger/test_logger.rb#L363 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 -- cgit v0.10.2 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/