Class: GetaroundUtils::LogFormatters::DeepKeyValue::Sidekiq

Inherits:
Base
  • Object
show all
Defined in:
lib/getaround_utils/log_formatters/deep_key_value.rb

Instance Method Summary collapse

Methods included from Shared

#normalize

Instance Method Details

#call(severity, _datetime, appname, message) ⇒ Object



53
54
55
56
57
# File 'lib/getaround_utils/log_formatters/deep_key_value.rb', line 53

def call(severity, _datetime, appname, message)
  payload = { severity: severity, appname: appname }
  sidekiq = sidekiq_context.merge(tid: sidekiq_tid).compact
  "#{normalize(payload)} #{normalize(message)} #{normalize(sidekiq: sidekiq)}\n"
end

#sidekiq_contextObject



44
45
46
47
# File 'lib/getaround_utils/log_formatters/deep_key_value.rb', line 44

def sidekiq_context
  context = Thread.current&.fetch(:sidekiq_context, nil)
  context.is_a?(Hash) ? context : {}
end

#sidekiq_tidObject



49
50
51
# File 'lib/getaround_utils/log_formatters/deep_key_value.rb', line 49

def sidekiq_tid
  Thread.current&.fetch('sidekiq_tid', nil) || (Thread.current&.object_id ^ ::Process.pid).to_s(36)
end