Sha256: fd797531df98e5d6c5a5c45725fd85e9c31c4780f59b56fcc5ec530e2b576944
Contents?: true
Size: 1.19 KB
Versions: 3
Compression:
Stored size: 1.19 KB
Contents
# frozen_string_literal: true require 'sidekiq/job_logger' module Loga module Sidekiq7 class JobLogger < ::Sidekiq::JobLogger EVENT_TYPE = 'sidekiq'.freeze def call(item, _queue) start = ::Process.clock_gettime(::Process::CLOCK_MONOTONIC) yield ::Sidekiq::Context.add(:elapsed, elapsed(start)) loga_log(message: "#{item['class']} with jid: '#{item['jid']}' done", item: item) rescue Exception => e # rubocop:disable Lint/RescueException ::Sidekiq::Context.add(:elapsed, elapsed(start)) loga_log( message: "#{item['class']} with jid: '#{item['jid']}' fail", item: item, exception: e ) raise end private def loga_log(message:, item:, exception: nil) data = item.select do |k, _v| %w[created_at enqueued_at jid queue retry class].include? k end data['params'] = item['args'] data['exception'] = exception if exception event = Event.new(type: EVENT_TYPE, message: message, data: data) if exception @logger.warn(event) else @logger.info(event) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
loga-2.8.1 | lib/loga/sidekiq7/job_logger.rb |
loga-2.8.0 | lib/loga/sidekiq7/job_logger.rb |
loga-2.7.0 | lib/loga/sidekiq7/job_logger.rb |