Class: Philiprehberger::StructuredLogger::TextFormatter

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

Overview

Builds plain-text structured log entries.

Instance Method Summary collapse

Instance Method Details

#call(level, message, context) ⇒ String

Format a log entry as a human-readable text string.

Parameters:

  • level (Symbol)

    the log level

  • message (String)

    the log message

  • context (Hash)

    merged context data

Returns:

  • (String)

    formatted text log line



41
42
43
44
45
46
47
48
# File 'lib/philiprehberger/structured_logger/formatter.rb', line 41

def call(level, message, context)
  timestamp = Time.now.utc.iso8601(3)
  parts = ["[#{timestamp}] #{level.to_s.upcase}: #{message}"]
  context.each do |key, value|
    parts << "#{key}=#{value}"
  end
  parts.join(' ')
end