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

level[RW]
output[RW]

Public Class Methods

new(level: Level::INFO, output: method(:puts)) click to toggle source

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

all(msg) click to toggle source

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
debug(msg) click to toggle source

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
error(msg) click to toggle source

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
info(msg) click to toggle source

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
log(level, msg) click to toggle source

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
trace(msg) click to toggle source

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
warn(msg) click to toggle source

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