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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy