Honeybadger.Filter.Mixin (Honeybadger v0.18.0) View Source

A default implementation of Honeybadger.Filter.

If you need to implement custom filtering for one or more of the elements in a Honeybadger.Notice, you can define your own filter module and register it in the config. E.g., if you wanted to filter the error message string, but keep all of the other default filtering, you could do:

defmoudle MyApp.MyFilter do
  use Honeybadger.Filter.Mixin

  def filter_error_message(message) do
    # replace passwords in error message with `"xxx"`
    Regex.replace(~r/(password: *)"([^"]+)"/, message, ~s(\1"xxx"))
  end
end

And set the configuration to:

config :honeybadger,
  filter: MyApp.MyFilter

See the documentation for Honeybadger.Filter for a list of functions that may be overridden. The default implementations for all of the functions that take a map are to remove any keys from the map that match a key in filter_keys. The check matches atoms and strings in a case insensitive manner.