class SiteHook::PreLogger

Public Class Methods

<<(msg) click to toggle source
# File lib/site_hook/prelogger.rb, line 83
def self.<<(msg)
  @@loggers.each do |logger|
    logger.<<(msg)
  end

end
base=(base) click to toggle source
# File lib/site_hook/prelogger.rb, line 36
def self.base=(base)
  @@base = base.to_s
end
debug(obj) click to toggle source
# File lib/site_hook/prelogger.rb, line 61
def self.debug(obj)
  @@loggers.each do |_key, value|
    value.debug(obj)
  end
end
error(obj) click to toggle source
# File lib/site_hook/prelogger.rb, line 48
def self.error(obj)
  @@loggers.each do |_key, value|
    value.error(obj)
  end
end
fatal(obj) click to toggle source
# File lib/site_hook/prelogger.rb, line 66
def self.fatal(obj)
  @@loggers.each do |key, value|
    next if key == :stderr
    value.fatal(obj)
  end
end
info(obj) click to toggle source
# File lib/site_hook/prelogger.rb, line 54
def self.info(obj)
  @@loggers.each do |key, value|
    next if key == :stderr
    value.info(obj)
  end
end
log(level, obj) click to toggle source

@param [Symbol] level log level to log at @param [Object] obj some kind of object or msg to log

# File lib/site_hook/prelogger.rb, line 77
def self.log(level, obj)
  @@loggers.each do |logger|
    logger.add(@levels[level], obj)
  end
end
new(input, output, errput) click to toggle source
# File lib/site_hook/prelogger.rb, line 15
def initialize(input, output, errput)
  self.class.set_base_default
  @@levels  = {
      unknown: ::Logger::UNKNOWN,
      fatal:   ::Logger::FATAL,
      error:   ::Logger::ERROR,
      info:    ::Logger::INFO,
      debug:   ::Logger::DEBUG
  }
  @@loggers = {
      stdout: ::Logger.new(STDOUT, progname: @@base),
      stderr: ::Logger.new(STDERR, progname: @@base),
      file:   ::Logger.new(SiteHook::Paths.make_log_name(self.to_s), progname: @@base)
  }
  @@loggers.each do |_logger, obj|
    obj.datetime_format = '%Y-%m-%dT%H:%M:%S%Z'
    obj.formatter       = proc do |severity, datetime, progname, msg|
      "#{severity} [#{datetime}] #{progname} —— #{msg}\n"
    end
  end
end
set_base_default() click to toggle source
# File lib/site_hook/prelogger.rb, line 39
def self.set_base_default
  @@base = 'Logger'
end
unknown(obj) click to toggle source
# File lib/site_hook/prelogger.rb, line 42
def self.unknown(obj)
  @@loggers.each do |_key, value|
    value.unknown(obj)
  end
end