Class: Core::Formatters::Log

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

Overview

Request logger

Instance Method Summary collapse

Instance Method Details

#call(severity, datetime, prog, data) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/svcbase/formatter.rb', line 25

def call(severity, datetime, prog, data)
  base = base_format(severity, datetime, prog)

  arr = Array(data) unless data.is_a? Hash
  arr = [data] if data.is_a? Hash

  # need the last "\n" because .join won't do it
  arr.each do |datum|
    if datum.is_a? Hash
      base.merge!(datum)
    else
      base["message"] = format(datum)
    end
  end

  base.to_json << "\n"
end