class Drum::Logger
A simple logging facility.
@!attribute level
@return [Logger::Level] The minimum level of messages to be logged
@!attribute output
@return [Proc] A function taking a string for outputting a message
Attributes
Public Class Methods
Creates a new logger with the given level.
@param [Logger::Level] level The minimum level of messages to be logged. @param [Proc] output A function taking a string for outputting a message.
# File lib/drum/utils/log.rb, line 27 def initialize(level: Level::INFO, output: method(:puts)) self.level = level self.output = output end
Public Instance Methods
Logs a message at the ALL level.
@param [String] msg The message to log.
# File lib/drum/utils/log.rb, line 45 def all(msg) self.log(Level::ALL, msg) end
Logs a message at the DEBUG level.
@param [String] msg The message to log.
# File lib/drum/utils/log.rb, line 73 def debug(msg) self.log(Level::DEBUG, msg) end
Logs a message at the ERROR level.
@param [String] msg The message to log.
# File lib/drum/utils/log.rb, line 52 def error(msg) self.log(Level::ERROR, msg) end
Logs a message at the INFO level.
@param [String] msg The message to log.
# File lib/drum/utils/log.rb, line 66 def info(msg) self.log(Level::INFO, msg) end
Logs a message at the given level.
@param [Logger::Level] level The level to log the message at. @param [String] msg The message to log.
# File lib/drum/utils/log.rb, line 36 def log(level, msg) if level >= self.level self.output.(msg) end end
Logs a message at the TRACE level.
@param [String] msg The message to log.
# File lib/drum/utils/log.rb, line 80 def trace(msg) self.log(Level::TRACE, msg) end
Logs a message at the WARN level.
@param [String] msg The message to log.
# File lib/drum/utils/log.rb, line 59 def warn(msg) self.log(Level::WARN, msg) end