Skip to main content

Honeybadger extension that can log exceptions raised by Flask or Celery, adding more context than the original honeybadger python library.

Project description

CircleCI

Honeybadger-Extensions extend current Honeybadger Python library to better support Celery & Flask.

It offers:

  • Improved reporting, including details for component, action etc.

  • Easier Honeybadger via Flask’s or Celery’s configuration object.

  • (Optional) Automatic reporting of errors detected by Celery or Flask.

Features

Honeybadger-Extensions provides the install_celery_handler() function which can be used at any time which can be used to initialize both Honeybadger & allow improved Honeybadger reporting. It also offers the HoneybadgerFlask Flask extension that adds more information to Honeybadger logging, as well as automatic logging of errors raised in the view functions.

Example 1: Initialize Celery

In the following example, we will use the install_celery_handler to setup Honeybadger reporting.

from celery import Celery
from honeybadger_extensions import install_celery_handler

celery = Celery(__name__)
celery.config_from_object({
    'HONEYBADGER_API_KEY': '<your key>',
    'HONEYBADGER_ENVIRONMENT': 'development'
})

install_celery_handler(config=celery.conf, report_exceptions=True)

Example 2: Initialize Flask

You can use HoneybadgerFlask extension to load Honeybadger configuration from Flask configuration object.

from flask import Flask, jsonify
from honeybadger_extensions import HoneybadgerFlask

app = Flask(__name__)
app.config['HONEYBADGER_ENVIRONMENT'] = 'development'
app.config['HONEYBADGER_API_KEY'] = '<your key>'
app.config['HONEYBADGER_EXCLUDE_HEADERS'] = 'Authorization, Proxy-Authorization, X-Custom-Key'
app.config['HONEYBADGER_PARAMS_FILTERS'] = 'password, secret, credit-card'

# Setup Honeybadger and listen for exceptions
HoneybadgerFlask(app, report_exceptions=True)

@app.route('/')
def index():
    a = int(request.args.get('a'))
    b = int(request.args.get('b'))

    logger.info('Dividing two numbers {} {}'.format(a, b))
    return jsonify({'result': a / b})

Installation

The easiest way to install it is using pip from PyPI

pip install Honeybadger-Extensions

License

See the LICENSE file for license rights and limitations (MIT).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Honeybadger-Extensions-0.1.2.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

Honeybadger_Extensions-0.1.2-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file Honeybadger-Extensions-0.1.2.tar.gz.

File metadata

File hashes

Hashes for Honeybadger-Extensions-0.1.2.tar.gz
Algorithm Hash digest
SHA256 6301bf12fc6ead228314f03c73e3093786a12e89e6c212f01ff34ffafeec0fd6
MD5 92eeb3267828e6f61bf810ac77a7b725
BLAKE2b-256 dad439ced0da5ebdc28f941f7fd0a8898debea2d2c8db48d50f105c487ddeb56

See more details on using hashes here.

File details

Details for the file Honeybadger_Extensions-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for Honeybadger_Extensions-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5388b3acb7ff6cc78d0c405184d0a05686514c5d132cfa4ef2c6de85c494a615
MD5 86a537e505344621f5fa3213793fe416
BLAKE2b-256 bc15e3b9d38e6979b38f87f7707cff37d1832d844d8586e6f7bcbfb61b68b038

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page