Package: errormator-client
errormator_clientWarningThis client will be no longer maintained. The new version of the client is available here:https://pypi.python.org/pypi/appenlight-clientMigration in most cases should require you to change import namespace and config keys fromerrormatortoappenlight.LEGACY MODEInstallation and SetupInstallerrormator_clientusing pip:pip install errormator-clientMain Documentation locationErrormator developer documentation contains most up to date information,
including implementation guides in popular python web frameworks.https://errormator.comDocumentation:https://errormator.com/page/api/mainUsageBefore you can use the client inside your application you first need to
navigate to the directory that stores your application configuration and issue
following command:$ENV/bin/python/errormator_client makeini errormator.iniUsage (example for pyramid or other WSGI pipeline compatible solutions like Zope):In your INI file you need to add:[filter:errormator_client]
use = egg:errormator_client
errormator.config_path = %(here)s/errormator.ini #optional if you don't want to set ERRORMATOR_INI env var

[pipeline:main]
pipeline =
    .....your other pipeline entries ....
    errormator_client
    app_nameTo minimize configuration complexity, the client by default will look for
ERRORMATOR_INI environment variable that will supply absolute path
to config file.for pylons app you can modify config/middleware.py:
import the callable and add this lines:#exception gathering
# CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares)

app = make_errormator_middleware(app,config)and add in your ini:errormator.config_path = %(here)s/errormator.ini #optional if you don't want to set ERRORMATOR_INI env varErrormator client provides slow call and datastore timing capabilities,
currently out of the box folliwing libraries are supported:urlliburllib2urllib3requestspysolrhttplibmost used dbapi2 driversmongodbmako templatesjinja2 templatesdjango templatesIf for some reason you want to disable timing of specific library - just set the
time value to false.Configuring errormator and djangoFor django framework there is separate compatible middleware provided.Modify your settings file to contain:import errormator_client.client as e_client
ERRORMATOR = e_client.get_config()Additionally middleware stack needs to be modified with additional middleware:MIDDLEWARE_CLASSES = (
    'errormator_client.django_middleware.ErrormatorMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...Please note that errormator middleware should be the first one in stack to
function properly.Run your django app providing ERRORMATOR_INI env variable containing absolute
path to your config file.Changing default scaffold configuration in Pyramid Web FrameworkDefault scaffolds in pyramid 1.3 have a section called[app:main]-
errormator client expects that you are usingwsgi pipelineinstead to
position itself in it.The easiest way to accomplish that is to alter your configuration file to look
like this:[app:main] becomes [app:yourappname]and inside your configuration,above [server:main]directive following
directive should appear:[pipeline:main]
pipeline =
    ... your other middleware you may have ...
    errormator_client
    yourappnameException views in Pyramid Web Framework and ErrormatorYou also need to add errormator tween to your application, you can do this in
two ways:# by adding following line to your config object
config.include('errormator_client.ext.pyramid_tween')Or by altering your ini file to contain a new include:pyramid.includes = errormator_client.ext.pyramid_tween
                   ... other includes you might have ..Sensitive data filteringThe client by default blanks out COOKIE,POST,GET for keys like:
‘password’,’passwd’,’pwd’,’auth_tkt’This behaviour can be altered to filter all kinds of data from the structures
that get sent to the server by passing dotted module name in configuration:errormator.filter_callable = foo.bar.baz:callable_nameexample:def callable_name(structure, section=None):
    structure['request']['SOMEVAL'] = '***REMOVED***'
    return structureErrormator will try to import foo.bar.baz and use callable_name as the function
that accepts parameters (structure, section) and returns altered data structure.Please note that this functionality can be used to alter things like errormator
grouping  mechanism - you can set this variable based on values present in structure
generated by the clienterrormator_client is BSD licensed, consult LICENSE for details.client source:https://github.com/AppEnlight/errormator-client-python