Class: Logging::Appenders::Honeybadger
- Inherits:
-
Logging::Appender
- Object
- Logging::Appender
- Logging::Appenders::Honeybadger
- Defined in:
- lib/logging/appenders/honeybadger.rb
Constant Summary collapse
- VERSION =
"0.0.1"- DEFAULT_NAME =
"honeybadger"- INTERNAL_BT_FILTER =
Prevent infinite recursion if this logger is assigned to the Honeybadger logger and it logs errors
%r{honeybadger-[^/]+/lib/honeybadger/}- HONEYBADGER_BT_FILTER =
Remove calls to this class in the stacktrace sent to Honeybadger. Only used when logging a String message.
%r{/logging-[^/]+/lib/logging/}- HONEYBADGER_SIMPLE_OPTIONS =
Can’t use respond_to?: github.com/honeybadger-io/honeybadger-ruby/issues/481
%i[ api_key controller env error_class report_data root revision hostname backend debug send_data_at_exit max_queue_size config_path development_environments plugins skipped_plugins ].freeze
- HONEYBADGER_NESTED_OPTIONS =
%i[ breadcrumbs connection delayed_job exceptions logging rails request sidekiq ].freeze
- HONEYBADGER_OPTIONS =
(HONEYBADGER_SIMPLE_OPTIONS + HONEYBADGER_NESTED_OPTIONS).freeze
Instance Method Summary collapse
-
#initialize(*args) ⇒ Honeybadger
constructor
A new instance of Honeybadger.
Constructor Details
#initialize(*args) ⇒ Honeybadger
Returns a new instance of Honeybadger.
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/logging/appenders/honeybadger.rb', line 60 def initialize(*args) args.compact! appender = { :level => :error } name = args.first.is_a?(String) ? args.shift : DEFAULT_NAME honeybadger = args.last.is_a?(Hash) ? args.pop.dup : {} ::Honeybadger.configure do |cfg| honeybadger.keys.each do |name| if HONEYBADGER_OPTIONS.include?(name) set_honeybadger_option(cfg, name, honeybadger[name]) else appender[name] = honeybadger.delete(name) end end end super(name, appender) end |