Skip to content

udfalkso/plugsnag

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plugsnag Build Status

Report errors in your Plug stack or whatever to Bugsnag, because that's a super great place to send your errors.

Installation/Usage

Just throw it in your deps in your mix.exs:

  defp deps do
    [{:plugsnag, "~> 1.3.0"}]
  end

Then you'll need to configure it with your API key as per the bugsnag-elixir docs.

If you're using Elixir < 1.4 make sure that plugsnag and bugsnag apps are started in your mix.exs. If you are using Elixir 1.4, the applications will be automatically started because they are dependencies.

For example:

def application do
    [mod: {MyApp, []},
     applications: [:logger, :plugsnag, :bugsnag]
    ]
  end

To use the plug, use it in your router. For example in an Phoenix app:

defmodule YourApp.Router do
  use Phoenix.Router
  use Plugsnag

  # ...
end

Filtering Parameters

By default, the BasicErrorReportBuilder will filter out password parameters from error reports sent to Bugsnag. You can customize this list inside your configuration:

config :plugsnag, :filter_parameters, ~w(password password_confirmation super_sekrit)

Customizing error reporting

You can also customize how an error is sent to bugsnag-elixir by passing your own custom ErrorReportBuilder with the :error_report_builder option.

defmodule YourApp.Router do
  use Phoenix.Router
  use Plugsnag, error_report_builder: YourApp.ErrorReportBuilder

  # ...
end
defmodule YourApp.ErrorReportBuilder do
  @behaviour Plugsnag.ErrorReportBuilder

  def build_error_report(error_report, conn) do
    error_report
    |> Plugsnag.BasicErrorReportBuilder.build_error_report(conn)
    |> put_user_info(conn)
  end

  defp put_user_info(error_report, conn) do
    current_user = conn.assigns[:current_user]

    user_info =  %{
      id: current_user.id
    }

    %{error_report | user: user_info}
  end
end

About

A Bugsnag notifier for Elixir's plug

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Elixir 100.0%