From 31339ef4f2af9c7dad2a81eaa9470ee4574181a0 Mon Sep 17 00:00:00 2001 From: George Claghorn Date: Wed, 11 Sep 2019 15:47:20 -0400 Subject: Honor Syslog::Logger#level overrides --- ext/syslog/lib/syslog/logger.rb | 4 ++-- test/syslog/test_syslog_logger.rb | 15 +++++++++++++++ 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) -- cgit v1.2.3