Class: Mixlib::Log::Formatter
- Inherits:
-
Logger::Formatter
- Object
- Logger::Formatter
- Mixlib::Log::Formatter
- Defined in:
- lib/mixlib/log/formatter.rb
Constant Summary collapse
- @@show_time =
true
Class Method Summary collapse
Instance Method Summary collapse
-
#call(severity, time, progname, msg) ⇒ Object
Prints a log message as ‘[time] severity: message’ if Chef::Log::Formatter.show_time == true.
- #format_exception(msg) ⇒ Object
-
#msg2str(msg) ⇒ Object
Converts some argument to a Logger.severity() call to a string.
Class Method Details
.show_time=(show = false) ⇒ Object
26 27 28 |
# File 'lib/mixlib/log/formatter.rb', line 26 def self.show_time=(show = false) @@show_time = show end |
Instance Method Details
#call(severity, time, progname, msg) ⇒ Object
Prints a log message as ‘[time] severity: message’ if Chef::Log::Formatter.show_time == true. Otherwise, doesn’t print the time.
32 33 34 35 36 37 38 |
# File 'lib/mixlib/log/formatter.rb', line 32 def call(severity, time, progname, msg) if @@show_time sprintf("[%s] %s: %s\n", time.iso8601, severity, msg2str(msg)) else sprintf("%s: %s\n", severity, msg2str(msg)) end end |
#format_exception(msg) ⇒ Object
60 61 62 63 |
# File 'lib/mixlib/log/formatter.rb', line 60 def format_exception(msg) "#{msg.} (#{msg.class})\n" << (msg.backtrace || []).join("\n") end |
#msg2str(msg) ⇒ Object
Converts some argument to a Logger.severity() call to a string. Regular strings pass through like normal, Exceptions get formatted as “message (class)nbacktrace”, and other random stuff gets put through “object.inspect”
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/mixlib/log/formatter.rb', line 43 def msg2str(msg) case msg when ::Hash if msg.has_key?(:err) format_exception(msg[:err]) else msg[:msg] end when ::String msg when ::Exception format_exception(msg) else msg.inspect end end |