[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]