1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00
mperham--sidekiq/lib/sidekiq/exception_handler.rb

32 lines
881 B
Ruby
Raw Normal View History

# frozen_string_literal: true
2014-02-24 23:47:44 -05:00
require 'sidekiq'
module Sidekiq
module ExceptionHandler
2014-02-24 23:47:44 -05:00
class Logger
def call(ex, ctxHash)
2016-04-15 00:59:13 -04:00
Sidekiq.logger.warn(Sidekiq.dump_json(ctxHash)) if !ctxHash.empty?
2015-04-29 17:12:32 -04:00
Sidekiq.logger.warn "#{ex.class.name}: #{ex.message}"
2014-02-24 23:47:44 -05:00
Sidekiq.logger.warn ex.backtrace.join("\n") unless ex.backtrace.nil?
end
# Set up default handler which just logs the error
Sidekiq.error_handlers << Sidekiq::ExceptionHandler::Logger.new
end
def handle_exception(ex, ctxHash={})
2014-02-24 23:47:44 -05:00
Sidekiq.error_handlers.each do |handler|
begin
handler.call(ex, ctxHash)
rescue => ex
Sidekiq.logger.error "!!! ERROR HANDLER THREW AN ERROR !!!"
Sidekiq.logger.error ex
Sidekiq.logger.error ex.backtrace.join("\n") unless ex.backtrace.nil?
end
end
end
end
end