Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ae4c6df

Browse files
committed
Add support for changing severity using bang methods.
1 parent 9540c0b commit ae4c6df

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

lib/logger.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,22 +322,37 @@ def datetime_format
322322
# +DEBUG+ messages.
323323
def debug?; @level <= DEBUG; end
324324

325+
# Sets the severity to DEBUG.
326+
def debug!; self.level = DEBUG; end
327+
325328
# Returns +true+ iff the current severity level allows for the printing of
326329
# +INFO+ messages.
327330
def info?; @level <= INFO; end
328331

332+
# Sets the severity to INFO.
333+
def info!; self.level = INFO; end
334+
329335
# Returns +true+ iff the current severity level allows for the printing of
330336
# +WARN+ messages.
331337
def warn?; @level <= WARN; end
332338

339+
# Sets the severity to WARN.
340+
def warn!; self.level = WARN; end
341+
333342
# Returns +true+ iff the current severity level allows for the printing of
334343
# +ERROR+ messages.
335344
def error?; @level <= ERROR; end
336345

346+
# Sets the severity to ERROR.
347+
def error!; self.level = ERROR; end
348+
337349
# Returns +true+ iff the current severity level allows for the printing of
338350
# +FATAL+ messages.
339351
def fatal?; @level <= FATAL; end
340352

353+
# Sets the severity to FATAL.
354+
def fatal!; self.level = FATAL; end
355+
341356
#
342357
# :call-seq:
343358
# Logger.new(logdev, shift_age = 0, shift_size = 1048576)

test/logger/test_severity.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,15 @@ def test_enum
1313
end
1414
assert_equal(levels.size, Logger::Severity.constants.size)
1515
end
16+
17+
def test_level_assignment
18+
logger = Logger.new(nil)
19+
20+
Logger::Severity.constants.each do |level|
21+
next if level == :UNKNOWN
22+
23+
logger.send("#{level.downcase}!")
24+
assert(logger.level) == Logger::Severity.const_get(level)
25+
end
26+
end
1627
end

0 commit comments

Comments
 (0)