特定の例外をSentryに送らないようにする方法

Sentryに特定の例外を送りたくない場合、プログラムを修正すれば済みますがそれが深淵な理由でできないOR面倒な場合、プログラム側でSentryに送らない例外を指定できます。 もちろんSentry側でignoreにできますが、たくさんの箇所で発生したりアプリケーションの更新によって別のissueとして認識されてしまうといちいちignoreするのが面倒。 またたくさんエラーがSentryに通知されるとエラー数を消費してしまう。Sentryは従量課金制なので困る。

特定の例外をSentryに送らないようにする方法はexcluded_exceptionsinspect_exception_causes_for_exclusionオプションです。 以下のように指定します。

Raven.configure do |config|
    # Sentryに送りたくない例外を指定
    config.excluded_exceptions.append('HogeHogeError')
    # excluded_exceptionsを指定し、かつ、これをonにすることで、ネストされた例外もexcluded_exceptionsで指定した例外なのかチェックしてくれる
    config.inspect_exception_causes_for_exclusion = true
end

ドキュメントはこちら

GoではIgnoreErrorsPHPではexcluded_exceptionsではJavaScriptではignoreErrorsというオプションがあり、おそらく他の言語もそういったオプションがありそうです。