module Honeybadger
def ignored_exception?(exception)
- Api: - private
def ignored_exception?(exception) exception.is_a?(SystemExit) || ( exception.is_a?(SignalException) && ( (exception.respond_to?(:signm) && exception.signm == "SIGTERM") || # jruby has a missing #signm implementation ["TERM", "SIGTERM"].include?(exception.to_s) ) ) end
def install_at_exit_callback
- Api: - private
def install_at_exit_callback at_exit do if $! && !ignored_exception?($!) && Honeybadger.config[:'exceptions.notify_at_exit'] Honeybadger.notify($!, component: 'at_exit', sync: true) end Honeybadger.stop if Honeybadger.config[:'send_data_at_exit'] end end
def load_plugins!
- Api: - private
def load_plugins! Dir[File.expand_path('../plugins/*.rb', __FILE__)].each do |plugin| require plugin end Plugin.load!(self.config) end
def notify(exception_or_opts, opts = {})
- See: Agent#notify -
def notify(exception_or_opts, opts = {}) # Note this is defined directly (instead of via forwardable) so that # generated stack traces work as expected. Agent.instance.notify(exception_or_opts, opts) end
def start(config = {})
def start(config = {}) raise NoMethodError, <<-WARNING oneybadger.start` is no longer necessary and has been removed. Use `Honeybadger.configure` to explicitly configure the agent from Ruby moving forward: Honeybadger.configure do |config| config.api_key = 'project api key' config.exceptions.ignore += [CustomError] end RNING end