ProductPromotion
Logo

Elixir

made by https://0x3d.site

GitHub - bugsnag-elixir/plugsnag: A Bugsnag notifier for Elixir's plug
A Bugsnag notifier for Elixir's plug. Contribute to bugsnag-elixir/plugsnag development by creating an account on GitHub.
Visit Site

GitHub - bugsnag-elixir/plugsnag: A Bugsnag notifier for Elixir's plug

GitHub - bugsnag-elixir/plugsnag: A Bugsnag notifier for Elixir's plug

Plugsnag

Elixir CI Hex Version Hex Docs Total Download License Last Updated

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.7.0"}
  ]
end

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

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

If you want to define your own handle_errors functions using Plug.ErrorHandler, then you can call Plugsnag.handle_errors/{2,3} directly.

defmodule YourApp.Router do
  use Phoenix.Router
  use Plug.ErrorHandler
  # ...
  defp handle_errors(conn, assigns) do
    Plugsnag.handle_errors(conn, assigns)
    # do your own handling
  end
end

Filtering Parameters and Headers

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: [params: ~w(password password_confirmation super_sekrit), headers: []]

By default, query strings are not filtered and may still leak sensitive information stored there (which shouldn't be, anyway). To filter the query string in the generated report, set the :filter_query_string config option to true:

config :plugsnag, filter_query_string: true

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

Copyright and License

Copyright (c) 2015 Jared Norman, Andrew Harvey, Guilherme de Maio

This work is free. You can redistribute it and/or modify it under the terms of the MIT License. See the LICENSE.md file for more details.

Articles
to learn more about the elixir concepts.

Resources
which are currently available to browse on.

mail [email protected] to add your project or resources here 🔥.

FAQ's
to know more about the topic.

mail [email protected] to add your project or resources here 🔥.

Queries
or most google FAQ's about Elixir.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory