Honeybadger extension that can log exceptions raised by Flask or Celery, adding more context than the original honeybadger python library.
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file Honeybadger-Extensions-0.1.2.tar.gz
.
File metadata
- Download URL: Honeybadger-Extensions-0.1.2.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6301bf12fc6ead228314f03c73e3093786a12e89e6c212f01ff34ffafeec0fd6 |
|
MD5 | 92eeb3267828e6f61bf810ac77a7b725 |
|
BLAKE2b-256 | dad439ced0da5ebdc28f941f7fd0a8898debea2d2c8db48d50f105c487ddeb56 |
File details
Details for the file Honeybadger_Extensions-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: Honeybadger_Extensions-0.1.2-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5388b3acb7ff6cc78d0c405184d0a05686514c5d132cfa4ef2c6de85c494a615 |
|
MD5 | 86a537e505344621f5fa3213793fe416 |
|
BLAKE2b-256 | bc15e3b9d38e6979b38f87f7707cff37d1832d844d8586e6f7bcbfb61b68b038 |