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
# File 'lib/logist/formatter/json.rb', line 8

def call(severity, timestamp, progname, msg)
  { level: severity, timestamp: format_datetime(timestamp), environment: ::Rails.env, message: format_message(msg) }.to_json + "\n"
end

#format_message(msg) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/logist/formatter/json.rb', line 12

def format_message(msg)
  case msg.class.name
    when "Hash"
      msg
    when "Array"
      msg
    else
      begin
        JSON.parse(msg)
      rescue JSON::ParserError
        "#{msg}"
      end
  end
end