module Beanpicker::MsgLogger

Abstract logger methods

Public Instance Methods

debug(m) click to toggle source

call .debug of logger

# File lib/beanpicker.rb, line 21
def debug(m)
  log_handler.debug msg(m)
end
error(m) click to toggle source

call .error of logger

# File lib/beanpicker.rb, line 36
def error(m)
  log_handler.error msg(m)
end
fatal(m) click to toggle source

call .fatal of logger

# File lib/beanpicker.rb, line 41
def fatal(m)
  log_handler.fatal msg(m)
end
info(m) click to toggle source

call .info of logger

# File lib/beanpicker.rb, line 26
def info(m)
  log_handler.info msg(m)
end
log_handler() click to toggle source

return the current logger os create a new

# File lib/beanpicker.rb, line 55
def log_handler
  @log_handler ||= ::Logger.new(STDOUT)
end
log_handler=(v) click to toggle source

set a new logger if the argument is a String/IO it will create a new instance of Logger using it argument else it will see if the argument respond to debug, info, warn, error and fatal

# File lib/beanpicker.rb, line 62
def log_handler=(v)
  if [String, IO].include?(v.class)
    @log_handler = ::Logger.new(v)
  else
    for m in [:debug, :info, :warn, :error, :fatal]
      unless v.respond_to?(m)
        error "Logger #{v} don't respond to #{m}. Aborting!"
        return
      end
    end
    @log_handler = v
  end
end
msg(msg) click to toggle source

prepare the message for logger

# File lib/beanpicker.rb, line 46
def msg(msg)
  if @name
    "[#{name}] #{msg}"
  else
    msg
  end
end
warn(m) click to toggle source

call .warn of logger

# File lib/beanpicker.rb, line 31
def warn(m)
  log_handler.warn msg(m)
end