Class: Philiprehberger::StructuredLogger::Formatter

Inherits:
Object
  • Object
show all
Defined in:
lib/philiprehberger/structured_logger/formatter.rb

Overview

Builds structured JSON log entries.

Instance Method Summary collapse

Instance Method Details

#call(level, message, context) ⇒ String

Format a log entry as a JSON string.

Parameters:

  • level (Symbol)

    the log level

  • message (String)

    the log message

  • context (Hash)

    merged context data

Returns:

  • (String)

    JSON-encoded log line



16
17
18
19
20
# File 'lib/philiprehberger/structured_logger/formatter.rb', line 16

def call(level, message, context)
  entry = base_entry(level, message)
  entry.merge!(context) unless context.empty?
  JSON.generate(entry)
end