This add-on is operated by Sentry
See what matters, solve quicker, and learn about your applications.
Last updated September 14, 2023
Table of Contents
Sentry is a realtime event logging and aggregation platform. It specializes in monitoring errors and extracting all the information needed to do a proper post-mortem without any of the hassle of the standard user feedback loop.
Provisioning the add-on
Reference the Sentry Elements Page for a list of available plans and regions.
Start by adding the Sentry addon:
$ heroku addons:create sentry
Integrating with Ruby (or Rails 3.x)
If you’re only using Ruby, add the
sentry-ruby gem to your Gemfile:
If you’re also using Rails, add both the
sentry-rails gems to your Gemfile:
gem 'sentry-ruby' gem 'sentry-rails'
In Rails we will automatically pick up unhandled exceptions and send them to Sentry. For other platforms you can wrap your code to manually log the exceptions:
begin 1 / 0 rescue ZeroDivisionError => exception Sentry.capture_exception(exception) end
If you’re not running with the “production” environment, you’ll need to manually specify that by calling out to Sentry:
Sentry.init do |config| config.current_environment = 'production' end
Integrating with Python (or Django)
Sentry configures the integration during library initialization.
import os import sentry_sdk sentry_sdk.init(os.environ['SENTRY_DSN'])
If you’re using Django, initialize it with the Django integration in your settings.py file:
import os import sentry_sdk from sentry_sdk.integrations.django import DjangoIntegration sentry_sdk.init( dsn=os.environ['SENTRY_DSN'], integrations=[DjangoIntegration()] )
In any platform, you can explicitly capture an error using the captureException method:
from sentry_sdk import capture_exception try: a_potentially_failing_function() except Exception as e: # Alternatively the argument can be omitted capture_exception(e)
If you are just looking to generate a test exception, you can do that via the sentry_sdk CLI:
sentry_sdk test `heroku config:get SENTRY_DSN`
Heroku provides an easy interface for logging into the Sentry web UI:
$ heroku addons:open sentry
Sentry sends you notifications regarding workflow activities, release deploys, and quota usage, as well as weekly reports. For email notifications, add members to your Sentry organization in Organization Settings > Members.
Removing the add-on
Just as provisioning, this is done through the addons interface:
$ heroku addons:destroy sentry