diff --git a/config/initializers/honeybadger.rb b/config/initializers/honeybadger.rb index af849881b..b09c73108 100644 --- a/config/initializers/honeybadger.rb +++ b/config/initializers/honeybadger.rb @@ -8,8 +8,10 @@ Honeybadger.configure do |config| config.request.filter_keys += %w[authorization] config.before_notify do |notice| - if notice.error_message&.include?("SIGTERM") && notice.component&.include?("fetch_all_rss") - notice.fingerprint = notice.error_message - end + notice.fingerprint = if notice.error_message&.include?("SIGTERM") && notice.component&.include?("fetch_all_rss") + notice.error_message + elsif notice.error_message&.include?("BANNED") + "banned" + end end end diff --git a/spec/initializers/honeybadger_spec.rb b/spec/initializers/honeybadger_spec.rb index dea493314..d4553d1be 100644 --- a/spec/initializers/honeybadger_spec.rb +++ b/spec/initializers/honeybadger_spec.rb @@ -10,4 +10,14 @@ describe Honeybadger do expect(notice.fingerprint).to eq(notice.error_message) end end + + context "when BANNED error is raised" do + it "sets fingerprint to banned" do + notice = Honeybadger::Notice.new( + described_class.config, error_message: "RuntimeError: BANNED" + ) + described_class.config.before_notify_hooks.first.call(notice) + expect(notice.fingerprint).to eq("banned") + end + end end