Skip to content

Commit

Permalink
Add improved logging
Browse files Browse the repository at this point in the history
  • Loading branch information
bertpareyn committed Jun 13, 2013
1 parent 1d08f23 commit 42af6d4
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions config/initializers/log_formatting.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
class ActiveSupport::BufferedLogger
def formatter=(formatter)
@log.formatter = formatter
end
end

class Formatter
SEVERITY_TO_TAG_MAP = {'DEBUG'=>'meh', 'INFO'=>'fyi', 'WARN'=>'hmm', 'ERROR'=>'wtf', 'FATAL'=>'omg', 'UNKNOWN'=>'???'}
SEVERITY_TO_COLOR_MAP = {'DEBUG'=>'0;37', 'INFO'=>'32', 'WARN'=>'33', 'ERROR'=>'31', 'FATAL'=>'31', 'UNKNOWN'=>'37'}
USE_HUMOROUS_SEVERITIES = false

def call(severity, time, progname, msg)
if USE_HUMOROUS_SEVERITIES
formatted_severity = sprintf("%-3s","#{SEVERITY_TO_TAG_MAP[severity]}")
else
formatted_severity = sprintf("%-5s","#{severity}")
end

formatted_time = time.strftime("%Y-%m-%d %H:%M:%S.") << time.usec.to_s[0..2].rjust(3)
color = SEVERITY_TO_COLOR_MAP[severity]

"\033[0;37m#{formatted_time}\033[0m [\033[#{color}m#{formatted_severity}\033[0m] #{msg.strip} (pid:#{$$})\n"
end

end

Rails.logger.formatter = Formatter.new

0 comments on commit 42af6d4

Please sign in to comment.