class Alexandria::Logger

A Logger subclass which accepts a source for log messages in order to improve legibility of the logs. The source should usually be self, whether that be a Class, Module or Object. A LogWrapper can be used to simplify this procedure.

Public Class Methods

category(source) click to toggle source
# File lib/alexandria/logging.rb, line 60
def self.category(source)
  if source.instance_of? Class
    "[Cls  #{source.name}]"
  elsif source.instance_of? Module
    "[Mod #{source.name}]"
  else
    "<Obj #{source.class.name}>"
  end
end

Public Instance Methods

add(severity, message = nil, source = nil, progname = nil, &block) click to toggle source
Calls superclass method
# File lib/alexandria/logging.rb, line 30
def add(severity, message = nil, source = nil, progname = nil, &block)
  return super(severity, message, progname, &block) if source.nil?

  category = self.class.category(source)
  return super(severity, progname, category) unless block

  category = "#{category} #{progname}" if progname
  super(severity, message, category, &block)
end
debug(source = nil, progname = nil, &block) click to toggle source
# File lib/alexandria/logging.rb, line 40
def debug(source = nil, progname = nil, &block)
  add(DEBUG, nil, source, progname, &block)
end
error(source = nil, progname = nil, &block) click to toggle source
# File lib/alexandria/logging.rb, line 52
def error(source = nil, progname = nil, &block)
  add(ERROR, nil, source, progname, &block)
end
fatal(source = nil, progname = nil, &block) click to toggle source
# File lib/alexandria/logging.rb, line 56
def fatal(source = nil, progname = nil, &block)
  add(FATAL, nil, source, progname, &block)
end
info(source = nil, progname = nil, &block) click to toggle source
# File lib/alexandria/logging.rb, line 44
def info(source = nil, progname = nil, &block)
  add(INFO, nil, source, progname, &block)
end
warn(source = nil, progname = nil, &block) click to toggle source
# File lib/alexandria/logging.rb, line 48
def warn(source = nil, progname = nil, &block)
  add(WARN, nil, source, progname, &block)
end