class ReeLogger::ColorizedFormatter
def colorize_blue(string)
def colorize_blue(string) Rainbow(string).blue end
def colorize_by_level(string, level)
def colorize_by_level(string, level) out = Rainbow(string) case level when :info out.cyan when :debug out.yellow when :warn out.yellow when :error out.red when :fatal out.red else out.red end end
def colorize_green(string)
def colorize_green(string) Rainbow(string).green end
def colorize_message(level, message)
def colorize_message(level, message) if message =~ /(GET|POST|PUT|DELETE|PATCH|HEAD|OPTIONS)/ level = "\n\n#{level}" message = colorize_blue(message) elsif message =~ /Parameters: / message = message.gsub("Parameters:", colorize_blue("Parameters:")) elsif message =~ /SELECT/ message = message.gsub("SELECT", colorize_green("SELECT")) elsif message =~ /(INSERT|UPDATE|DELETE)/ message = message.gsub($1, colorize_red($1)) end "#{level} #{message}" end
def colorize_red(string)
def colorize_red(string) Rainbow(string).red end
def format(event, progname = nil)
def format(event, progname = nil) prefix = if progname "[#{progname}] " else "" end level = "%-5s" % "#{event.level.to_s}:" level = colorize_by_level(level, event.level) out = "#{prefix}%-6s %s" % ["[#{now.strftime("%d/%m/%y %H:%M:%S")}]", colorize_message(level, event.message)] if not_blank(event.parameters) out += "#{prefix}\n#{colorize_blue('PARAMETERS:')} #{event.parameters}" end if event.exception backtrace = (event.exception.backtrace || []).join("\n") out += "#{prefix}\n#{colorize_red('EXCEPTION:')} #{event.exception.class} (#{event.exception.message})\n#{backtrace}" end out end