Elixir client for Rollbar.
Add Rollbax as a dependency to your mix.exs
file:
defp deps() do
[{:rollbax, "~> 0.6"}]
end
and add it to your list of applications:
def application() do
[applications: [:rollbax]]
end
Then run mix deps.get
in your shell to fetch the dependencies.
Rollbax requires some configuration in order to work. For example, in config/config.exs
:
config :rollbax,
access_token: "ffb8056a621f309eeb1ed87fa0c7",
environment: "production"
Then, exceptions (errors, exits, and throws) can be reported to Rollbar using Rollbax.report/3
:
try do
DoesNotExist.for_sure()
rescue
exception ->
Rollbax.report(:error, exception, System.stacktrace())
end
For detailed information on configuration and usage, take a look at the online documentation.
Rollbax provides a backend for Elixir's Logger
as the Rollbax.Logger
module. It can be configured as follows:
# We register Rollbax.Logger as a Logger backend.
config :logger,
backends: [Rollbax.Logger]
# We configure the Rollbax.Logger backend.
config :logger, Rollbax.Logger,
level: :error
Sending logged messages to Rollbar can be disabled via Logger
metadata:
# To disable reporting for all subsequent logs:
Logger.metadata(rollbar: false)
# To disable reporting for the current logged message only:
Logger.error("oops", rollbar: false)
For more information, check out the documentation for Rollbax.Logger
.
For examples on how to take advantage of Rollbax in Plug-based applications (including Phoenix applications), have a look at the "Using Rollbax in Plug-based applications" page in the documentation.
For non-production environments error reporting can be either disabled completely (by setting :enabled
to false
) or replaced with logging of exceptions (by setting :enabled
to :log
).
config :rollbax, enabled: :log
To run tests, run $ mix test --no-start
. The --no-start
bit is important so that tests don't fail (because of the :rollbax
application being started without an :access_token
specifically).
When making changes to the code, adhere to this Elixir style guide.
Finally, thanks for contributing! :)
This software is licensed under the ISC license.