Class: Timber::Logger::StringFormatter

Inherits:
Formatter
  • Object
show all
Defined in:
lib/timber/logger.rb

Overview

Structures your log messages as strings and appends metadata if ‘Timber::Config.instance.append_metadata?` is true.

Example message with metdata:

My log message @metadata {"level":"info","dt":"2016-09-01T07:00:00.000000-05:00"}

Constant Summary collapse

METADATA_CALLOUT =
"@metadata".freeze

Instance Method Summary collapse

Instance Method Details

#call(severity, time, progname, msg) ⇒ Object



132
133
134
135
136
137
138
139
140
141
142
# File 'lib/timber/logger.rb', line 132

def call(severity, time, progname, msg)
  log_entry = build_log_entry(severity, time, progname, msg)

  if Config.instance.append_metadata?
     = log_entry.to_json(:except => [:message])
    # use << for concatenation for performance reasons
    log_entry.message.gsub("\n", "\\n") << " " << METADATA_CALLOUT << " " <<  << "\n"
  else
    log_entry.message + "\n"
  end
end