Skip to content

Commit 7365c99

Browse files
georgeclaghornioquatix
authored andcommitted
Honor Logger#level overrides
1 parent 5987f51 commit 7365c99

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

lib/logger.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -304,35 +304,35 @@ def datetime_format
304304

305305
# Returns +true+ iff the current severity level allows for the printing of
306306
# +DEBUG+ messages.
307-
def debug?; @level <= DEBUG; end
307+
def debug?; level <= DEBUG; end
308308

309309
# Sets the severity to DEBUG.
310310
def debug!; self.level = DEBUG; end
311311

312312
# Returns +true+ iff the current severity level allows for the printing of
313313
# +INFO+ messages.
314-
def info?; @level <= INFO; end
314+
def info?; level <= INFO; end
315315

316316
# Sets the severity to INFO.
317317
def info!; self.level = INFO; end
318318

319319
# Returns +true+ iff the current severity level allows for the printing of
320320
# +WARN+ messages.
321-
def warn?; @level <= WARN; end
321+
def warn?; level <= WARN; end
322322

323323
# Sets the severity to WARN.
324324
def warn!; self.level = WARN; end
325325

326326
# Returns +true+ iff the current severity level allows for the printing of
327327
# +ERROR+ messages.
328-
def error?; @level <= ERROR; end
328+
def error?; level <= ERROR; end
329329

330330
# Sets the severity to ERROR.
331331
def error!; self.level = ERROR; end
332332

333333
# Returns +true+ iff the current severity level allows for the printing of
334334
# +FATAL+ messages.
335-
def fatal?; @level <= FATAL; end
335+
def fatal?; level <= FATAL; end
336336

337337
# Sets the severity to FATAL.
338338
def fatal!; self.level = FATAL; end
@@ -456,7 +456,7 @@ def reopen(logdev = nil)
456456
#
457457
def add(severity, message = nil, progname = nil)
458458
severity ||= UNKNOWN
459-
if @logdev.nil? or severity < @level
459+
if @logdev.nil? or severity < level
460460
return true
461461
end
462462
if progname.nil?

test/logger/test_logger.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,4 +363,19 @@ def test_lshift
363363
r.close
364364
assert_equal("msg2\n\n", msg)
365365
end
366+
367+
class CustomLogger < Logger
368+
def level
369+
INFO
370+
end
371+
end
372+
373+
def test_overriding_level
374+
logger = CustomLogger.new(nil)
375+
log = log(logger, :info) { "msg" }
376+
assert_equal "msg\n", log.msg
377+
#
378+
log = log(logger, :debug) { "msg" }
379+
assert_nil log.msg
380+
end
366381
end

0 commit comments

Comments
 (0)