class OpStack::Logger::Formatter
Formatter
based on itamae by ryota.arai@gmail.com - lib/itamae/logger.rb
Attributes
colored[RW]
Public Instance Methods
call(severity, datetime, progname, msg)
click to toggle source
# File lib/opstack/logging.rb, line 10 def call(severity, datetime, progname, msg) log = "%s : %s\n" % ["%5s" % severity, msg2str(msg)] if colored colorize(log, severity) else log end end
color(code) { || ... }
click to toggle source
# File lib/opstack/logging.rb, line 19 def color(code) prev_color = @color @color = code yield ensure @color = prev_color end
Private Instance Methods
colorize(str, severity)
click to toggle source
# File lib/opstack/logging.rb, line 41 def colorize(str, severity) if @color color_code = @color else color_code = case severity when "INFO" :clear when "WARN" :magenta when "ERROR" :red else :clear end end ANSI.public_send(color_code) { str } end
msg2str(msg)
click to toggle source
# File lib/opstack/logging.rb, line 29 def msg2str(msg) case msg when ::String msg when ::Exception "#{ msg.message } (#{ msg.class })\n" << (msg.backtrace || []).join("\n") else msg.inspect end end