Skip to main content

An errbit client for python

Project description

An errbit client for python.

Installation

Add errbit to your package dependencies in setup.py or requirements.txt.

Configuration

Configure errbit with environment variables:

  • ERRBIT_URL - the post-url to your errbit installation.

  • ERRBIT_API_KEY - your errbit API key.

  • ERRBIT_PACKAGE - the setuptools name of your package.

  • ERRBIT_ENVIRONMENT - the name of the environment you are running, such as staging or production.

  • ERRBIT_HTTP_CLIENT - Switch the http client implementation. Switching the implementation can solve different problems when communicating from private networks with HTTP proxies. Current implementations are: requests, urllib, urllib2.

  • ERRBIT_IGNORE - path to ignore file.

Ignore file

The thrown exception will be ignored and not passed to errbit if its message matches one of the regex in exception_msg.

{
    "exception_msg": [
        "^AttributeError\\b",
        "regex2"
    ]
}

Usage

The errbit package ships with the core notification implementation for errbit and integrations for some frameworks.

Manually posting exceptions

Use the errbit client to post exceptions to an errbit installation:

from errbit.client import Client
import sys

client = Client()
try:
    do_something()
except:
    exc_info = sys.exc_info()

    request = {
        'url': 'http://my.app/app/folders/create',
        'component': 'folders',
        'action': 'create',
        'params': {
            'title': 'My Folder'},
        'session': {
            'cookie': 'session_id=123345'},
        'cgi-data': {
            'HTTP_X_FORWARDED_HOST': 'my.app'}}

    client.post(exc_info, request=request)

Plone

Plone integration is automatically done with a logging handler, nothing needs to be done for enabling it beside configuring the environment variables.

For testing the connection you can call the view errbit-make-error as Manager.

Development / tests

Install the package and run the tests using buildout:

git clone git@github.com:4teamwork/errbit-python.git
cd errbit-python
ln -s test-plone-4.3.x.cfg buildout.cfg
python2.7 bootstrap.py
bin/buildout
bin/test

Changelog

1.1.5 (2014-08-11)

  • Fix empty message syntax in XML. [jone]

1.1.4 (2014-03-18)

  • Added regex filter for exception messages. [lknoepfel]

1.1.3 (2013-09-12)

  • Fix TypeError with Python 2.6 and Plone. [jone]

1.1.2 (2013-09-02)

  • Plone: refactor cleanups to cleanup cookies in all places. [jone]

1.1.1 (2013-09-02)

  • Plone: send component and action too. [jone]

  • Plone: remove keys containing “pass” from request data and session cookie. We should not send the users password on registration / login failures. [jone]

  • Plone: add errbit-make-error for testing the connection. [jone]

1.1.0 (2013-08-28)

  • Implement urllib2 HTTP client. [jone]

  • Implement urllib HTTP client. [jone]

  • Refactor HTTP posting and add ERRBIT_HTTP_CLIENT environment variable for choosing a different implementation. [jone]

1.0.0 (2013-08-27)

  • Initial implementation. [jone]

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

errbit-1.1.5.zip (26.2 kB view details)

Uploaded Source

File details

Details for the file errbit-1.1.5.zip.

File metadata

  • Download URL: errbit-1.1.5.zip
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for errbit-1.1.5.zip
Algorithm Hash digest
SHA256 4dbcd27e11bd4c589b97bd6c9c25cdc463dfd9b09409f1dae99a10b7f064ecc7
MD5 068817f20baf3f13939bde5287f0e92f
BLAKE2b-256 afe05513bff64e9a8384aae04bfa1151d0e443438b1d8e64ce739a7876c7d649

See more details on using hashes here.

Supported by

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