class PierLogging::Formatter::Base

Public Class Methods

new(app_name = nil, hostname = nil, opts = {}) click to toggle source
Calls superclass method
# File lib/pier_logging/formatter/base.rb, line 8
def initialize(app_name = nil, hostname = nil, opts = {})
  aname, hname, opts = Ougai::Formatters::Base.parse_new_params([app_name, hostname, opts])
  super(aname, hname, opts)
end

Public Instance Methods

_call(severity, time, progname, data) click to toggle source
# File lib/pier_logging/formatter/base.rb, line 37
def _call(severity, time, progname, data)
  message = get_message(data)
  message_type = get_message_type(data)
  get_log_content(severity, time, message, message_type, data)
end
convert_time(data) click to toggle source
# File lib/pier_logging/formatter/base.rb, line 43
def convert_time(data)
  data[:timestamp] = data[:timestamp].utc.iso8601(3)
end
get_log_content(severity, time, message, message_type, data) click to toggle source
# File lib/pier_logging/formatter/base.rb, line 26
def get_log_content(severity, time, message, message_type, data)
  dump({
    env: PierLogging.logger_configuration.env,
    app: PierLogging.logger_configuration.app_name,
    level: severity.downcase,
    timestamp: time,
    message: message,
    type: message_type,
  }.merge({ fields: data }))
end
get_message(data) click to toggle source
# File lib/pier_logging/formatter/base.rb, line 13
def get_message(data)
  # Use `message` (besides `msg` - ougai default) as the message field
  if data.is_a?(Hash)
    msg = data.delete(:msg)
    data[:message] = msg if !data[:message]
  end
  data.delete(:message)
end
get_message_type(data) click to toggle source
# File lib/pier_logging/formatter/base.rb, line 22
def get_message_type(data)
  data.delete(:type) || 'default'
end