Class: PierLogging::Formatter::Base

Inherits:
Ougai::Formatters::Base
  • Object
show all
Includes:
Ougai::Formatters::ForJson
Defined in:
lib/pier_logging/formatter/base.rb

Direct Known Subclasses

Json, Readable

Instance Method Summary collapse

Constructor Details

#initialize(app_name = nil, hostname = nil, opts = {}) ⇒ Base

Returns a new instance of Base.



8
9
10
11
# 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

Instance Method Details

#_call(severity, time, progname, data) ⇒ Object



37
38
39
40
41
# 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) ⇒ Object



43
44
45
# 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) ⇒ Object



26
27
28
29
30
31
32
33
34
35
# 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) ⇒ Object



13
14
15
16
17
18
19
20
# 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) ⇒ Object



22
23
24
# File 'lib/pier_logging/formatter/base.rb', line 22

def get_message_type(data)
  data.delete(:type) || 'default'
end