class Hutch::ErrorHandlers::Honeybadger

Error handler for the Honeybadger.io service

Public Instance Methods

handle(properties, payload, consumer, ex) click to toggle source
# File lib/hutch/error_handlers/honeybadger.rb, line 10
def handle(properties, payload, consumer, ex)
  message_id = properties.message_id
  prefix = "message(#{message_id || '-'}):"
  logger.error "#{prefix} Logging event to Honeybadger"
  logger.error "#{prefix} #{ex.class} - #{ex.message}"
  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
handle_setup_exception(ex) click to toggle source
# File lib/hutch/error_handlers/honeybadger.rb, line 23
def handle_setup_exception(ex)
  logger.error "Logging setup exception to Honeybadger"
  logger.error "#{ex.class} - #{ex.message}"
  notify_honeybadger(error_class: ex.class.name,
                     error_message: "#{ex.class.name}: #{ex.message}",
                     backtrace: ex.backtrace)
end
notify_honeybadger(message) click to toggle source

Wrap API to support 3.0.0+

@see github.com/honeybadger-io/honeybadger-ruby/blob/master/CHANGELOG.md#300—2017-02-06

# File lib/hutch/error_handlers/honeybadger.rb, line 34
def notify_honeybadger(message)
  if ::Honeybadger.respond_to?(:notify_or_ignore)
    ::Honeybadger.notify_or_ignore(message)
  else
    ::Honeybadger.notify(message)
  end
end