Elixir client for Rollbar.
Add Rollbax as a dependency to your mix.exs
file:
defp deps() do
[{:rollbax, ">= 0.0.0"}]
end
Then run mix deps.get
in your shell to fetch the dependencies. Add :rollbax
to your list of :applications
if you're not using :extra_applications
.
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 way to automatically report crashes from OTP processes (GenServers, Tasks, and so on). It can be enabled with:
config :rollbax, enable_crash_reports: true
For more information, check out the documentation for Rollbax.Logger
.
If you had previously configured Rollbax.Logger
to be a Logger backend (for example config :logger, backends: [Rollbax.Logger]
), you will need to remove since Rollbax.Logger
is not a Logger backend anymore and you will get crashes if you use it as such.
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
For environments which require a proxy to connect to hosts outside of the network, the :proxy
config entry can be added with a proxy URL as it's defined in the hackney documentation.
config :rollbax, proxy: "https://my-secure-proxy:5001"
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.