class Mixlib::Log::Formatter

Public Class Methods

show_time=(show=false) click to toggle source
# File lib/mixlib/log/formatter.rb, line 26
def self.show_time=(show=false)
  @@show_time = show
end

Public Instance Methods

call(severity, time, progname, msg) click to toggle source

Prints a log message as '[time] severity: message' if Chef::Log::Formatter.show_time == true. Otherwise, doesn't print the time.

# File lib/mixlib/log/formatter.rb, line 32
def call(severity, time, progname, msg)
  if @@show_time
    sprintf("[%s] %s: %s\n", time.iso8601(), severity, msg2str(msg))
  else
    sprintf("%s: %s\n", severity, msg2str(msg))
  end
end
msg2str(msg) click to toggle source

Converts some argument to a Logger.severity() call to a string. Regular strings pass through like normal, Exceptions get formatted as “message (class)nbacktrace”, and other random stuff gets put through “object.inspect”

# File lib/mixlib/log/formatter.rb, line 43
def msg2str(msg)
  case msg
  when ::String
    msg
  when ::Exception
    "#{ msg.message } (#{ msg.class })\n" <<
      (msg.backtrace || []).join("\n")
  else
    msg.inspect
  end
end