class Xyeger::Formatters::SidekiqJson

Public Instance Methods

call(severity, timestamp, context, message) click to toggle source
Calls superclass method Xyeger::Formatters::Base#call
# File lib/xyeger/formatters/sidekiq_json.rb, line 4
def call(severity, timestamp, context, message)
  context, message = prepare_message(message) unless context

  super(severity, timestamp, context, message).merge(
    tid: "TID-#{Thread.current.object_id.to_s(36)}",
    sidekiq_context: sidekiq_context
  ).to_json + "\n"
end
prepare_message(message) click to toggle source
# File lib/xyeger/formatters/sidekiq_json.rb, line 18
def prepare_message(message)
  json = JSON.parse(message)
  [filter_context(json), 'Sidekiq']
rescue JSON::ParserError => e
  [nil, message]
end
sidekiq_context() click to toggle source
# File lib/xyeger/formatters/sidekiq_json.rb, line 13
def sidekiq_context
  c = Thread.current[:sidekiq_context]
  c.join(' ') if c&.any?
end