Airbrake

Circle CI Code Climate Coverage Status Dependency Status

This is the notifier gem for integrating apps with Airbrake.

When an uncaught exception occurs, Airbrake will POST the relevant data to the Airbrake server specified in your environment.

Help

For help with using Airbrake and this notifier visit our support site.

For SSL verification see the Resources.

Rails Installation

Rails 3.x/4.x

Add the airbrake gem to your Gemfile. In Gemfile:

gem 'airbrake'

Then from your project's RAILS_ROOT, and in your development environment, run:

bundle install
rails generate airbrake --api-key your_key_here

The generator creates a file under config/initializers/airbrake.rb configuring Airbrake with your API key. This file should be checked into your version control system so that it is deployed to your staging and production environments.

Rails 2.x

Add the airbrake gem to your app. In config/environment.rb:

config.gem 'airbrake'

or if you are using bundler:

gem 'airbrake', :require => 'airbrake/rails'

Then from your project's RAILS_ROOT, and in your development environment, run:

rake gems:install
rake gems:unpack GEM=airbrake
script/generate airbrake --api-key your_key_here

As always, if you choose not to vendor the airbrake gem, make sure every server you deploy to has the gem installed or your application won't start.

The generator creates a file under config/initializers/airbrake.rb configuring Airbrake with your API key. This file should be checked into your version control system so that it is deployed to your staging and production environments.

Ignored exceptions

Exceptions raised from Rails environments named development, test or cucumber will be ignored by default.

You can clear the list of ignored environments with this setting:

config.development_environments = []

List of ignored exception classes includes:

ActiveRecord::RecordNotFound
ActionController::RoutingError
ActionController::InvalidAuthenticityToken
CGI::Session::CookieStore::TamperedWithCookie
ActionController::UnknownHttpMethod
ActionController::UnknownAction
AbstractController::ActionNotFound
Mongoid::Errors::DocumentNotFound
ActionController::UnknownFormat

You can alter this list with

config.ignore_only = []

which will cause none of the exception classes to be ignored.

Check the wiki for more customization options.

Supported frameworks

See TESTED_AGAINST for a full list of frameworks and versions we test against.

Airbrake wiki pages

Our wiki contains a lot of additional information about Airbrake configuration. Please browse the wiki when finished reading this README:

https://github.com/airbrake/airbrake/wiki

Development

For running unit tests, you should run

bundle
bundle exec rake test:unit

If you wish to run the entire suite, which checks the different framework integrations with cucumber, you should run the following commands

bundle
bundle exec rake appraisal:install
bundle exec rake

We use Appraisals to run the integration tests.

Maintainers

Make sure all tests are passing before pushing the new version. Also, make sure integration test is passing. You can run it with:

./script/integration_test.rb <api_key> <host>

After this is passing, change the version inside lib/airbrake/version.rb and push the new version with Changeling:

rake changeling:change

Credits

thoughtbot

Airbrake is maintained and funded by airbrake.io.

Thank you to all the contributors!

The names and logos for Airbrake, thoughtbot are trademarks of their respective holders.

License

Airbrake is Copyright © 2008-2015 Airbrake.