class Itamae::Logger::Formatter
Attributes
colored[RW]
Public Class Methods
new()
click to toggle source
# File lib/itamae/logger.rb, line 74 def initialize @color = nil end
Public Instance Methods
call(severity, datetime, progname, msg)
click to toggle source
# File lib/itamae/logger.rb, line 78 def call(severity, datetime, progname, msg) log = "%s : %s" % ["%5s" % severity, msg2str(msg)] (colored ? colorize(log, severity) : log) + "\n" end
color(code) { || ... }
click to toggle source
# File lib/itamae/logger.rb, line 84 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/itamae/logger.rb, line 106 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/itamae/logger.rb, line 94 def msg2str(msg) case msg when ::String msg when ::Exception "#{ msg.message } (#{ msg.class })\n" << (msg.backtrace || []).join("\n") else msg.inspect end end