Package: errbit
Anerrbitclient for python.InstallationAdderrbitto your package dependencies insetup.pyorrequirements.txt.ConfigurationConfigure errbit with environment variables:ERRBIT_URL- the post-url to your errbit installation.ERRBIT_APP_ID- your errbit app id (see URL when visiting the app).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 asstagingorproduction.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 (default: ~/.errbit/errbit_ignore.json)Ignore fileThe thrown exception will be ignored and not passed to errbit if its message matches one of the regex inexception_msg.{"exception_msg":["^AttributeError\\b","regex2"]}UsageTheerrbitpackage ships with the core notification implementation for errbit
and integrations for some frameworks.Manually posting exceptionsUse the errbit client to post exceptions to an errbit installation:fromerrbit.clientimportClientimportsysclient=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)PlonePlone 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 viewerrbit-make-errorasManager.Report JavaScript errors in PloneIn order to report JavaScript errors, install the Generic Setup profileprofile-errbit.ploneintegration:default, which registers the necessary
JavaScript resources.For JavaScript reporting theERRBIT_APP_IDenvironment variable needs to be set.Test the configuration: ifhttp://localhost:8080/Plone/errbit-plone.jsis empty
not all enviornment variables are configured.Development / testsInstall the package and run the tests using buildout:gitclonegit@github.com:4teamwork/errbit-python.gitcderrbit-pythonln-stest-plone-4.3.x.cfgbuildout.cfgpython2.7bootstrap.pybin/buildoutbin/testLinksGithub:https://github.com/4teamwork/errbit-pythonIssues:https://github.com/4teamwork/errbit-python/issuesPypi:http://pypi.python.org/pypi/errbit-pythonContinuous integration:https://jenkins.4teamwork.ch/search?q=errbit-pythonCopyrightThis package is copyright by4teamwork.errbit-pythonis licensed under GNU General Public License, version 2.Changelog1.4.0 (2016-01-10)Add uninstall profile for Plone integration.
[jone]1.3.1 (2015-08-10)Fix bug when trying to log a cleanup error.
[jone]1.3.0 (2015-03-02)Implement JavaScript error reporting.
The profile “errbit-ploneintegration:default” must be installed.
[jone]1.2.1 (2015-03-02)Fix type error when having non-strings as keys in request’s cgi-data.
[jone]1.2.0 (2015-02-27)Post “unknown” app version when ERRBIT_PACKAGE is invalid.
[jone]Log errors happening while handling errors.
[jone]Make get_ignore_regex() look in a default location for the ignore file.
[lgraf]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]