Class: Sidekiq::Logger::Formatters::Datadog

Inherits:
Base
  • Object
show all
Defined in:
lib/sidekiq/logger/formatters/datadog.rb

Instance Method Summary collapse

Instance Method Details

#call(severity, time, program_name, message_or_error) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/sidekiq/logger/formatters/datadog.rb', line 13

def call(severity, time, program_name, message_or_error)
  hash = {
    timestamp:    time.utc.iso8601(3),
    pid:          ::Process.pid,
    tid:          tid,
    level:        severity,
    source:       'sidekiq',
    program_name: program_name
  }

  if message_or_error.is_a?(Hash) && message_or_error[:error].present?
    hash[:error] = message_or_error[:error]
  else
    hash[:message] = message_or_error
  end

  c = ctx
  hash[:job] = c unless c.empty?

  Sidekiq.dump_json(hash) << "\n"
end