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

use honeybadger for exception.

This commit is contained in:
Teng Siong Ong 2012-10-26 20:33:54 -07:00
parent c64a6eb76b
commit 4da2757801
2 changed files with 21 additions and 0 deletions

View file

@ -6,6 +6,7 @@ module Sidekiq
Sidekiq.logger.warn ex Sidekiq.logger.warn ex
Sidekiq.logger.warn ex.backtrace.join("\n") Sidekiq.logger.warn ex.backtrace.join("\n")
send_to_airbrake(msg, ex) if defined?(::Airbrake) send_to_airbrake(msg, ex) if defined?(::Airbrake)
send_to_honeybadger(msg, ex) if defined?(::Honeybadger)
send_to_exceptional(msg, ex) if defined?(::Exceptional) send_to_exceptional(msg, ex) if defined?(::Exceptional)
send_to_exception_notifier(msg, ex) if defined?(::ExceptionNotifier) send_to_exception_notifier(msg, ex) if defined?(::ExceptionNotifier)
end end
@ -16,6 +17,10 @@ module Sidekiq
::Airbrake.notify_or_ignore(ex, :parameters => msg) ::Airbrake.notify_or_ignore(ex, :parameters => msg)
end end
def send_to_honeybadger(msg, ex)
::Honeybadger.notify_or_ignore(ex, :parameters => msg)
end
def send_to_exceptional(msg, ex) def send_to_exceptional(msg, ex)
if ::Exceptional::Config.should_send_to_api? if ::Exceptional::Config.should_send_to_api?
::Exceptional.context(msg) ::Exceptional.context(msg)

View file

@ -55,6 +55,22 @@ class TestExceptionHandler < MiniTest::Unit::TestCase
end end
end end
describe "with fake Honeybadger" do
before do
::Honeybadger = MiniTest::Mock.new
end
after do
Object.send(:remove_const, "Honeybadger") # HACK should probably inject Honeybadger etc into this class in the future
end
it "notifies Honeybadger" do
::Honeybadger.expect(:notify_or_ignore,nil,[TEST_EXCEPTION,:parameters => { :a => 1 }])
Component.new.invoke_exception(:a => 1)
::Honeybadger.verify
end
end
describe "with fake ExceptionNotifier" do describe "with fake ExceptionNotifier" do
before do before do
::ExceptionNotifier = Module.new ::ExceptionNotifier = Module.new