Sha256: bb5ce19ca2e6f248bade4ceaece01698972f2aae2663eef44e0972787d3e64ea
Contents?: true
Size: 1.49 KB
Versions: 4
Compression:
Stored size: 1.49 KB
Contents
require 'sidekiq/job_logger' module Loga module Sidekiq6 class JobLogger < ::Sidekiq::JobLogger EVENT_TYPE = 'sidekiq'.freeze def call(item, _queue) start = ::Process.clock_gettime(::Process::CLOCK_MONOTONIC) yield ::Sidekiq::Context.current[:elapsed] = elapsed(start) loga_log(message: "#{item['class']} with jid: '#{item['jid']}' done", item: item) rescue Exception => e # rubocop:disable Lint/RescueException ::Sidekiq::Context.current[:elapsed] = elapsed(start) loga_log( message: "#{item['class']} with jid: '#{item['jid']}' fail", item: item, exception: e ) raise end def prepare(job_hash, &block) super ensure # For sidekiq version < 6.4 Thread.current[:sidekiq_context] = nil end private def loga_log(message:, item:, exception: nil) data = { 'created_at' => item['created_at'], 'enqueued_at' => item['enqueued_at'], 'jid' => item['jid'], 'queue' => item['queue'], 'retry' => item['retry'], 'params' => item['args'], 'class' => item['class'], } if exception data['exception'] = exception @logger.warn(Event.new(type: EVENT_TYPE, message: message, data: data)) else @logger.info(Event.new(type: EVENT_TYPE, message: message, data: data)) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
loga-2.8.1 | lib/loga/sidekiq6/job_logger.rb |
loga-2.8.0 | lib/loga/sidekiq6/job_logger.rb |
loga-2.7.0 | lib/loga/sidekiq6/job_logger.rb |
loga-2.6.1 | lib/loga/sidekiq6/job_logger.rb |