• Stars
    star
    243
  • Rank 166,489 (Top 4 %)
  • Language
    Elixir
  • License
    ISC License
  • Created over 9 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Exception tracking and logging from Elixir to Rollbar

Rollbax

Build Status Hex Version

Elixir client for Rollbar.

Installation

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.

Usage

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.

Crash reports

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.

Plug and Phoenix

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.

Non-production reporting

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

Using a proxy to reach the Rollbar server

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"

Contributing

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! :)

License

This software is licensed under the ISC license.