The Official Sentry Client for Elixir which provides a simple API to capture exceptions, automatically handle Plug Exceptions and provides a backend for the Elixir Logger.
To use Sentry with your projects, edit your mix.exs file to add it as a dependency and add the :sentry
package to your applications:
defp application do
[applications: [:sentry, :logger]]
end
defp deps do
[{:sentry, "~> 1.0"}]
end
Setup the application environment in your config/prod.exs
config :sentry,
dsn: "https://public:[email protected]/1",
tags: %{
env: "production"
}
Sometimes you want to capture specific exceptions, to do so use the Sentry.capture_exception/3
.
try do
ThisWillError.reall()
rescue
my_exception ->
Sentry.capture_exception(my_exception, [stacktrace: System.stacktrace(), extra: %{extra: information}])
end
For optional settings check the docs.
In your router add the following lines:
use Plug.ErrorHandler
use Sentry.Plug
This library comes with an extension to capture all Error messages that the Plug handler might not. Simply set use_error_logger
to true.
This is based on the Erlang error_logger.
config :sentry,
use_error_logger: true
Key | Required | Default | Notes |
---|---|---|---|
dsn |
True | n/a | |
environment_name |
False | MIX_ENV |
|
included_environments |
False | ~w(prod test dev)a |
If you need non-standard mix env names you need to include it here |
tags |
False | %{} |
|
release |
False | None | |
server_name |
False | None | |
use_error_logger |
False | False |
To build the docs locally, you'll need the Sphinx:
$ pip install sphinx
Once Sphinx is available building the docs is simply:
$ make docs
You can then view the docs in your browser:
$ open docs/_build/html/index.html
This project is Licensed under the MIT License.