Skip to content

Buyapowa/rollbax

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.5"}]
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.

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.

Logger backend

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)

Plug and Phoenix

The Plug.ErrorHandler plug can be used to report errors in web requests to Rollbar. In your router:

defmodule MyApp.Router do
  use Plug.Router # or `use MyApp.Web, :router` for Phoenix apps
  use Plug.ErrorHandler

  # Reports the exception and re-raises it
  defp handle_errors(conn, %{kind: kind, reason: reason, stack: stack}) do
    Rollbax.report(kind, reason, stack, %{params: conn.params})
  end
end

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

License

This software is licensed under the ISC license.

About

Exception tracking and logging from Elixir to Rollbar

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Elixir 100.0%