class TidyLogger::Formatter

Attributes

title[RW]
type[RW]

Public Instance Methods

call(severity, time, progname, msg) click to toggle source
# File lib/tidy_logger.rb, line 32
def call(severity, time, progname, msg)
  case @type
  when Proc
    instance_exec(severity, time, progname, msg, &@type)
  when :plain
    "#{stringify(msg)}\n"
  when :title
    "[#{@title}] #{stringify(msg)}\n"
  when :time
    "[#{format_datetime(time)}] #{stringify(msg)}\n"
  when :time_and_level
    "[%s] %5s : %s\n" % [format_datetime(time), severity, stringify(msg)]
  when :ltsv
    raise Error, "ltsv logger only takes Hash" unless msg.is_a?(Hash)
    msg.map{|k,v| "#{k}:#{v}" }.join("\t") << "\n"
  else
    # default stdlib logger format
    "%s, [%s#%d] %5s -- %s: %s\n" % [severity[0..0], format_datetime(time), $$, severity, progname, msg2str(msg)]
  end
end
stringify(msg) click to toggle source
# File lib/tidy_logger.rb, line 53
def stringify(msg)
  String === msg ? msg : msg.inspect
end