summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Claghorn <george@basecamp.com>2019-09-11 15:47:20 -0400
committerAaron Patterson <tenderlove@github.com>2019-09-26 15:01:44 -0700
commit31339ef4f2af9c7dad2a81eaa9470ee4574181a0 (patch)
tree0364813d38a8f1bf73ee975084f844b5993052a0
parentf5e8d33761aa2c0d8bec18ba21aeef4bb6940640 (diff)
Honor Syslog::Logger#level overrides
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/2453
-rw-r--r--ext/syslog/lib/syslog/logger.rb4
-rw-r--r--test/syslog/test_syslog_logger.rb15
2 files changed, 17 insertions, 2 deletions
diff --git a/ext/syslog/lib/syslog/logger.rb b/ext/syslog/lib/syslog/logger.rb
index 06cbe5b19d..453ca2785c 100644
--- a/ext/syslog/lib/syslog/logger.rb
+++ b/ext/syslog/lib/syslog/logger.rb
@@ -112,7 +112,7 @@ class Syslog::Logger
end
def #{meth}?
- @level <= #{level}
+ level <= #{level}
end
EOM
end
@@ -202,7 +202,7 @@ class Syslog::Logger
def add severity, message = nil, progname = nil, &block
severity ||= ::Logger::UNKNOWN
- @level <= severity and
+ level <= severity and
@@syslog.log( (LEVEL_MAP[severity] | @facility), '%s', formatter.call(severity, Time.now, progname, (message || block.call)) )
true
end
diff --git a/test/syslog/test_syslog_logger.rb b/test/syslog/test_syslog_logger.rb
index 5e0cc765a9..d9ffae3901 100644
--- a/test/syslog/test_syslog_logger.rb
+++ b/test/syslog/test_syslog_logger.rb
@@ -551,6 +551,21 @@ class TestSyslogLogger < TestSyslogRootLogger
assert_equal facility|Syslog::LOG_DEBUG, msg.priority
end
+ class CustomSyslogLogger < Syslog::Logger
+ def level
+ Logger::INFO
+ end
+ end
+
+ def test_overriding_level
+ @logger = CustomSyslogLogger.new
+ log = log_add Logger::INFO, 'msg'
+ assert_equal 'msg', log.msg
+
+ log = log_add Logger::DEBUG, 'msg'
+ assert_nil log.msg
+ end
+
end if defined?(Syslog)