class Trifle::Logger::Middleware::Sidekiq

Public Instance Methods

call(_worker, job, _queue) { || ... } click to toggle source
# File lib/trifle/logger/middleware/sidekiq.rb, line 7
def call(_worker, job, _queue)
  Trifle::Logger.tracer = tracer_for(job: job)
  yield
rescue => e # rubocop:disable Style/RescueStandardError
  Trifle::Logger.tracer&.trace("Exception: #{e}", state: :error)
  Trifle::Logger.tracer&.fail!
  raise e
ensure
  Trifle::Logger.tracer&.wrapup
end
tracer_for(job:) click to toggle source
# File lib/trifle/logger/middleware/sidekiq.rb, line 18
def tracer_for(job:)
  return nil unless job['logger_key']

  Trifle::Logger.default.tracer_klass.new(
    key: job['logger_key'], meta: job['args']
  )
end