Sha256: 74ce1bd231a11593cc1c987ffcf2612e27d3ca54ddccb20418e7542565839d6c
Contents?: true
Size: 1.19 KB
Versions: 2
Compression:
Stored size: 1.19 KB
Contents
require 'English' module Nucleus module Logging class Formatter FORMAT = "%s, %38s [%s#%d] %5s -- %s: %s\n".freeze attr_accessor :datetime_format def initialize @datetime_format = nil end def call(severity, time, progname, msg) request_part = if Thread.current[:nucleus_request_id].nil? # if there is no request id, then fill up the space "[#{'*' * 36}]" else "[#{Thread.current[:nucleus_request_id]}]" end format(FORMAT, severity[0..0], request_part, format_datetime(time), $PID, severity, progname, msg2str(msg)) end private def format_datetime(time) if @datetime_format.nil? format(time.strftime('%Y-%m-%dT%H:%M:%S.') << '%06d ', time.usec) else time.strftime(@datetime_format) end end def msg2str(msg) case msg when ::String msg when ::Exception "#{msg.message} (#{msg.class})\n" << (msg.backtrace || []).join("\n") else msg.inspect end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
nucleus-0.3.1 | lib/nucleus/core/common/logging/request_log_formatter.rb |
nucleus-0.2.0 | lib/nucleus/core/common/logging/request_log_formatter.rb |