Class: MrLogaLoga::Formatters::KeyValue

Inherits:
Logger::Formatter
  • Object
show all
Defined in:
lib/mr_loga_loga/formatters/key_value.rb

Overview

Description

A simple key value formatter that extends the standard formatter by rendering additional contextual information.

Format

The key-value formatter renders messages into the following format:

Log format:

SeverityID, [DateTime #pid] SeverityLabel -- ProgName: message key1=value1 key2=value2

Instance Method Summary collapse

Instance Method Details

#call(severity, datetime, progname, message, context = {}) ⇒ String

Render a log message

Parameters:

  • severity (String)

    The message severity

  • datetime (DateTime)

    The message date time

  • progname (DateTime)

    The program name

  • message (String)

    The log message

  • context (Hash) (defaults to: {})

    The log message context

Returns:

  • (String)

    the formatted log message



27
28
29
30
31
32
33
34
# File 'lib/mr_loga_loga/formatters/key_value.rb', line 27

def call(severity, datetime, progname, message, context = {})
  message = message ? msg2str(message).strip : ''
  message = context.map { |key, value| "#{key}=#{value}" }
              .prepend(message)
              .compact
              .join(' ')
  super(severity, datetime, progname, message)
end