Class: OpenTrace::TraceFormatter
- Inherits:
-
Object
- Object
- OpenTrace::TraceFormatter
- Defined in:
- lib/opentrace/trace_formatter.rb
Overview
Instance Method Summary collapse
- #call(severity, datetime, progname, msg) ⇒ Object
-
#initialize(original_formatter = nil) ⇒ TraceFormatter
constructor
A new instance of TraceFormatter.
Constructor Details
#initialize(original_formatter = nil) ⇒ TraceFormatter
Returns a new instance of TraceFormatter.
11 12 13 |
# File 'lib/opentrace/trace_formatter.rb', line 11 def initialize(original_formatter = nil) @original = original_formatter || ::Logger::Formatter.new end |
Instance Method Details
#call(severity, datetime, progname, msg) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/opentrace/trace_formatter.rb', line 15 def call(severity, datetime, progname, msg) formatted = @original.call(severity, datetime, progname, msg) trace_prefix = build_trace_prefix if trace_prefix && formatted.is_a?(String) # Append trace context before the trailing newline if formatted.end_with?("\n") "#{formatted.chomp} #{trace_prefix}\n" else "#{formatted} #{trace_prefix}" end else formatted end rescue StandardError formatted || @original.call(severity, datetime, progname, msg) end |