Class: Kenny::Formatters::LogStashFormatter

Inherits:
Logger::Formatter
  • Object
show all
Includes:
ActiveSupport::TaggedLogging::Formatter
Defined in:
lib/kenny/formatters/log_stash_formatter.rb

Instance Method Summary collapse

Instance Method Details

#call(severity, time, progname, msg) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/kenny/formatters/log_stash_formatter.rb', line 11

def call(severity, time, progname, msg)
  msg = { 'message' => msg.is_a?(String) ? msg : msg.inspect } unless msg.is_a?(Hash)

  msg['severity'] = severity if severity
  msg['progname'] = progname if progname

  tags = current_tags

  if tags.size > 0
    msg['type'] ||= tags.first
    msg['tags'] = tags
  end

  event = LogStash::Event.new(msg)

  "%s\n" % event.to_json
end