Exception tracking and logging from Elixir to Rollbar
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config Use Elixir v1.1.1 on Travis CI to enable ExUnit timeout options Jan 28, 2016
lib Add more docs for the :proxy option Jan 25, 2019
pages Improve suggestions on how to report errors from Plug applications Mar 26, 2018
test Allow to configure Rollbax to contact API server via proxy (#105) Jan 25, 2019
.formatter.exs Run the formatter on the codebase and check for formatted files on CI ( Feb 13, 2018
.gitignore Add ex_doc to the dependencies Jun 4, 2016
.travis.yml Use stages in the Travis setup Jan 25, 2019
CHANGELOG.md
LICENSE Add LICENSE Aug 4, 2015
README.md Add more docs for the :proxy option Jan 25, 2019
mix.exs Release v0.10.0 Jan 25, 2019
mix.lock Swap out Poison for Jason (#86) Feb 13, 2018

README.md

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.