Skip to content

Commit

Permalink
[ruby/logger] Add support for changing severity using bang methods.
Browse files Browse the repository at this point in the history
  • Loading branch information
ioquatix authored and hsbt committed Jul 15, 2019
1 parent 310198d commit 47500f2
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 0 deletions.
15 changes: 15 additions & 0 deletions lib/logger.rb
Original file line number Diff line number Diff line change
Expand Up @@ -322,22 +322,37 @@ def datetime_format
# +DEBUG+ messages.
def debug?; @level <= DEBUG; end

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

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

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

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

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

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

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

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

# Sets the severity to FATAL.
def fatal!; self.level = FATAL; end

#
# :call-seq:
# Logger.new(logdev, shift_age = 0, shift_size = 1048576)
Expand Down
11 changes: 11 additions & 0 deletions test/logger/test_severity.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,15 @@ def test_enum
end
assert_equal(levels.size, Logger::Severity.constants.size)
end

def test_level_assignment
logger = Logger.new(nil)

Logger::Severity.constants.each do |level|
next if level == :UNKNOWN

logger.send("#{level.downcase}!")
assert(logger.level) == Logger::Severity.const_get(level)
end
end
end

0 comments on commit 47500f2

Please sign in to comment.