Class: Bctlogger::JsonLogFormatter

Inherits:
Logger::Formatter
  • Object
show all
Defined in:
lib/bctlogger/json_log_formatter.rb

Instance Method Summary collapse

Instance Method Details

#call(severity, _time, _progname, msg) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/bctlogger/json_log_formatter.rb', line 5

def call(severity, _time, _progname, msg)
  data = extra_log_data(msg).merge(
    "level": severity.downcase,
    "project": ENV['PROJECT'],
    "environment": ENV['ENVIRONMENT'],
    "application": ENV['APP_NAME'],
    "datetime": Time.now
  )
  context = Thread.current[:request_context]
  correlation_id = context[:correlation_id] if context.is_a?(Hash)
  data.merge!("correlationId": correlation_id) if correlation_id
  data.to_json + "\r\n"
end