Skip to content

Commit

Permalink
Merge pull request #274 from olleolleolle/fix/honeybadger-api-change
Browse files Browse the repository at this point in the history
Wrap API of error handler for Honeybadger
  • Loading branch information
michaelklishin authored Feb 21, 2017
2 parents 67d2573 + 2983b67 commit ac96294
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 13 deletions.
30 changes: 18 additions & 12 deletions lib/hutch/error_handlers/honeybadger.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

module Hutch
module ErrorHandlers
# Error handler for the Honeybadger.io service
class Honeybadger
include Logging

Expand All @@ -11,18 +12,23 @@ def handle(properties, payload, consumer, ex)
prefix = "message(#{message_id || '-'}):"
logger.error "#{prefix} Logging event to Honeybadger"
logger.error "#{prefix} #{ex.class} - #{ex.message}"
::Honeybadger.notify_or_ignore(
:error_class => ex.class.name,
:error_message => "#{ ex.class.name }: #{ ex.message }",
:backtrace => ex.backtrace,
:context => {
:message_id => message_id,
:consumer => consumer
},
:parameters => {
:payload => payload
}
)
notify_honeybadger(error_class: ex.class.name,
error_message: "#{ex.class.name}: #{ex.message}",
backtrace: ex.backtrace,
context: { message_id: message_id,
consumer: consumer },
parameters: { payload: payload })
end

# Wrap API to support 3.0.0+
#
# @see https://github.com/honeybadger-io/honeybadger-ruby/blob/master/CHANGELOG.md#300---2017-02-06
def notify_honeybadger(message)
if ::Honeybadger.respond_to?(:notify_or_ignore)
::Honeybadger.notify_or_ignore(message)
else
::Honeybadger.notify(message.merge(force: true))
end
end
end
end
Expand Down
2 changes: 1 addition & 1 deletion spec/hutch/error_handlers/honeybadger_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
:payload => payload
}
}
expect(::Honeybadger).to receive(:notify_or_ignore).with(message)
expect(error_handler).to receive(:notify_honeybadger).with(message)
error_handler.handle(properties, payload, consumer, ex)
end
end
Expand Down

0 comments on commit ac96294

Please sign in to comment.