View Source Sentry.EventFilter behaviour (sentry v8.1.0)

This module defines a Behaviour for filtering Sentry events. There is one callback to implement. The first argument will be the exception reported, and the second is the source. Events from Sentry.PlugCapture will have :plug as a source and events from Sentry.LoggerBackend will have :logger as the source. A custom source can also be specified by passing the event_source option to Sentry.capture_exception/2.

As an example, if you wanted to exclude any ArithmeticError exceptions:

defmodule MyApp.SentryEventFilter do
  @behaviour Sentry.EventFilter

  def exclude_exception?(%ArithmeticError{}, _source), do: true
  def exclude_exception?(_exception, _source), do: false
end

Alternatively, if you want to skip all non-500 exceptions in a Plug app:

defmodule MyApp.SentryEventFilter do
  @behaviour Sentry.EventFilter

  def exclude_exception?(exception, _) do
    Plug.Exception.status(exception) < 500
  end
end

Sentry uses Sentry.DefaultEventFilter by default.

Link to this section Summary

Callbacks

Callback that returns whether an exception should be excluded from being reported

Link to this section Callbacks

Link to this callback

exclude_exception?(t, atom)

View Source
@callback exclude_exception?(Exception.t(), atom()) :: boolean()

Callback that returns whether an exception should be excluded from being reported