【Sentry】SentryのbeforeSendが便利だったので共有する

  • 2023年6月29日
  • 2023年6月29日
  • APM

こんにちは。

野中康生です。

仕事でSentryのあるエラーをSentryに送信して、あるエラーは送信しないという判別をする必要があったのですが、Sentryエラーイベントのフィルタリング機能であるbeforeSendがかなり便利だったので、共有します。

beforeSendの使い方例

使い方例として、invalid_access_tokenエラーをSentryに送信しない場合を例にします。

まずbeforeSendは、Sentry.initの中で使用します。exception = hint.originalExceptionでSentryで発出するエラー等の情報を確認することができます。そしてexception.errorでSentryがキャッチしているエラーをstring型でキャッチできます。

if (typeof exception === “object” && exception !== null && “error” in exception) {}の部分は、TypeScriptの型エラーを回避するため、そしてexceptionがnullでないことを確認するためのチェックです。

最後にreturn nullを返すことでSentryに送信したくないエラーイベントを抑制することができます。

ちなみに上位プランを選択すれば管理画面側からフィルタリングすることも可能です。最近APMツールとしてSentryがどんどんなんでもできるようになっている感があるので、プロジェクトとして、Sentryしか使っていないのであれば上位プランの検討もいいかもしれません。

より詳細な使い方やカスタマイズ方法については公式HPをご覧ください。

参考

Learn more about how to configure your SDK to filter events …