Class: Trifle::Logger::Middleware::Sidekiq

Inherits:
Object
  • Object
show all
Defined in:
lib/trifle/logger/middleware/sidekiq.rb

Instance Method Summary collapse

Instance Method Details

#call(_worker, job, _queue) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# 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:) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/trifle/logger/middleware/sidekiq.rb', line 18

def tracer_for(job:)
  return nil unless job['logger_key']

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