Class: Logist::Formatter::Json

Inherits:
Logger::Formatter
  • Object
show all
Defined in:
lib/logist/formatter/json.rb

Instance Method Summary collapse

Instance Method Details

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



8
9
10
11
12
13
14
15
16
# File 'lib/logist/formatter/json.rb', line 8

def call(severity, timestamp, progname, msg)
  begin
    j = ::JSON.parse(msg)
    temp = {level: severity, timestamp: format_datetime(timestamp), environment: ::Rails.env}.merge(j)
    ::JSON.dump(temp) + "\n"
  rescue JSON::ParserError
    "{\"level\":\"#{severity}\",\"timestamp\":\"#{format_datetime(timestamp)}\",\"message\":\"#{msg}\",\"environment\":\"#{::Rails.env}\"}\n"
  end
end