class Logger(T)

Overview

The Logger class provides a simple but sophisticated logging utility that you can use to output messages.

The messages have associated levels, such as INFO or ERROR that indicate their importance. You can then give the Logger a level, and only messages at that level of higher will be printed.

For instance, in a production system, you may have your Logger set to INFO or even WARN. When you are developing the system, however, you probably want to know about the program’s internal state, and would set the Logger to DEBUG.

Example

require "logger"

log = Logger.new(STDOUT)
log.level = Logger::WARN

log.debug("Created logger")
log.info("Program started")
log.warn("Nothing to do!")

begin
  File.each_line(path) do |line|
    unless line =~ /^(\\w+) = (.*)$/
      log.error("Line in wrong format: #{line}")
    end
  end
rescue err
  log.fatal("Caught exception; exiting")
  log.fatal(err)
end

Superclass hierarchy

Object
Reference
Logger(T)

Defined in:

Constant Summary

Class Method Summary

Instance Method Summary

Macro Summary

Class Method Detail

def self.new(io : T)

Instance Method Detail

def <<(message)

def close

def debug(progname = nil, &block)

def debug(message, progname = nil)

def debug?

def error(progname = nil, &block)

def error(message, progname = nil)

def error?

def fatal(message, progname = nil)

def fatal(progname = nil, &block)

def fatal?

def format(severity, datetime, progname, message, io)

def formatter

def formatter=(formatter)

def info(message, progname = nil)

def info(progname = nil, &block)

def info?

def level

def level=(level)

def log(severity, message, progname = nil)

def log(severity, progname = nil, &block)

def progname

def progname=(progname)

def unknown(progname = nil, &block)

def unknown(message, progname = nil)

def unknown?

def warn(message, progname = nil)

def warn(progname = nil, &block)

def warn?

Macro Detail

macro log_level(name)