Class: Logger::Formatter
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/logger.rb |
Overview
Default formatter for log messages.
Constant Summary
-
Format =
# File 'lib/logger.rb', line 552"%s, [%s#%d] %5s -- %s: %s\n".freeze
Class Method Summary
- .new ⇒ Formatter constructor
Instance Attribute Summary
Instance Method Summary
- #call(severity, time, progname, msg)
- #format_datetime(time) private
- #msg2str(msg) private
Constructor Details
.new ⇒ Formatter
# File 'lib/logger.rb', line 556
def initialize @datetime_format = nil end
Instance Attribute Details
#datetime_format (rw)
[ GitHub ]# File 'lib/logger.rb', line 554
attr_accessor :datetime_format
Instance Method Details
#call(severity, time, progname, msg)
[ GitHub ]# File 'lib/logger.rb', line 560
def call(severity, time, progname, msg) Format % [severity[0..0], format_datetime(time), $$, severity, progname, msg2str(msg)] end
#format_datetime(time) (private)
[ GitHub ]# File 'lib/logger.rb', line 567
def format_datetime(time) time.strftime(@datetime_format || "%Y-%m-%dT%H:%M:%S.%6N ".freeze) end
#msg2str(msg) (private)
[ GitHub ]# File 'lib/logger.rb', line 571
def msg2str(msg) case msg when ::String msg when ::Exception "#{ msg. } (#{ msg.class })\n" << (msg.backtrace || []).join("\n") else msg.inspect end end