class SiteHook::Loggers::Build

Public Class Methods

new(base:, level:) click to toggle source
# File lib/site_hook/loggers/build.rb, line 4
def initialize(base:, level:)
  @@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(base, level), 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

Public Instance Methods

debug(obj) click to toggle source
# File lib/site_hook/loggers/build.rb, line 56
def debug(obj)
  @@loggers.each do |_key, value|
    value.debug(obj)
  end
end
error(obj) click to toggle source
# File lib/site_hook/loggers/build.rb, line 31
def error(obj)
  @@loggers.each do |_key, value|
    value.error(obj)
  end
end
fatal(obj) click to toggle source
# File lib/site_hook/loggers/build.rb, line 44
def 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/loggers/build.rb, line 37
def 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/loggers/build.rb, line 64
def log(level, obj)
  @@loggers.each do |logger|
    logger.add(@levels[level], obj)
  end
end
log_raw(msg) click to toggle source
# File lib/site_hook/loggers/build.rb, line 70
def log_raw(msg)
  @@loggers.each do |logger|
    logger.<<(obj)
  end
end
unknown(obj) click to toggle source
# File lib/site_hook/loggers/build.rb, line 25
def unknown(obj)
  @@loggers.each do |_key, value|
    value.unknown(obj)
  end
end
warn(obj) click to toggle source
# File lib/site_hook/loggers/build.rb, line 51
def warn(obj)
  @@loggers.each do |_key, value|
    value.warn(obj)
  end
end