跳转到主要内容

Errormator报告客户端 - 支持WSGI和django (http://errormator.com)

项目描述

errormator_client

遗留模式

Python Logo Pyramid Logo Flask Logo Django Logo

安装和设置

使用pip安装errormator_client

pip install errormator-client

主要文档位置

Errormator开发者文档包含最新信息,包括在流行的Python Web框架中的实现指南。

https://errormator.com

文档: https://errormator.com/page/api/main

使用方法

在您可以在应用程序内部使用客户端之前,您首先需要导航到存储应用程序配置的目录,并执行以下命令

$ENV/bin/python/errormator_client makeini errormator.ini

使用方法(pyramid或其他WSGI管道兼容解决方案如Zope的示例)

在您的INI文件中,您需要添加

[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_name

为了最小化配置复杂度,客户端默认将查找ERRORMATOR_INI环境变量,该变量将提供配置文件的绝对路径。

对于Pylons应用,你可以修改config/middleware.py:导入可调用的函数并添加以下行

#exception gathering
# CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares)

app = make_errormator_middleware(app,config)

并在你的ini文件中添加

errormator.config_path = %(here)s/errormator.ini #optional if you don't want to set ERRORMATOR_INI env var

Errormator客户端提供了慢调用和数据存储定时功能,目前支持以下库

  • urllib

  • urllib2

  • urllib3

  • requests

  • pysolr

  • httplib

  • 大多数使用的dbapi2驱动程序

  • mongodb

  • mako模板

  • jinja2模板

  • django模板

如果你有原因想要禁用特定库的定时功能,只需将时间值设置为false。

配置errormator和django

对于django框架,有提供独立的兼容中间件。

修改你的设置文件以包含

import errormator_client.client as e_client
ERRORMATOR = e_client.get_config()

此外,中间件堆栈需要通过添加额外的中间件进行修改

MIDDLEWARE_CLASSES = (
    'errormator_client.django_middleware.ErrormatorMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...

请注意,errormator中间件应该堆栈中的第一个,以确保正常工作。

运行你的django应用,提供包含配置文件绝对路径的ERRORMATOR_INI环境变量。

修改Pyramid Web框架中的默认scaffold配置

Pyramid 1.3中的默认scaffold有一个名为[app:main]的部分 - errormator客户端期望你使用wsgi pipeline而不是它来定位自己。

实现这一点的最简单方法是修改你的配置文件,使其看起来像这样

[app:main] becomes [app:yourappname]

并且在你配置文件中,在以下[server:main]指令之后应该出现以下指令

[pipeline:main]
pipeline =
    ... your other middleware you may have ...
    errormator_client
    yourappname

Pyramid Web框架和Errormator中的异常视图

你还需要将errormator tween添加到你的应用程序中,你可以通过两种方式完成

# by adding following line to your config object
config.include('errormator_client.ext.pyramid_tween')

或者通过修改你的ini文件以包含一个新的include

pyramid.includes = errormator_client.ext.pyramid_tween
                   ... other includes you might have ..

敏感数据过滤

默认情况下,客户端会为“password”、“passwd”、“pwd”、“auth_tkt”等关键字将COOKIE、POST、GET清空

可以通过在配置中传递点分隔的模块名称来改变这种行为,以从发送到服务器的结构中过滤所有类型的数据

errormator.filter_callable = foo.bar.baz:callable_name

示例

def callable_name(structure, section=None):
    structure['request']['SOMEVAL'] = '***REMOVED***'
    return structure

Errormator将尝试导入foo.bar.baz,并使用callable_name作为接受参数(结构、部分)并返回更改后的数据结构的函数。

请注意,此功能可以用于更改像errormator分组机制之类的东西 - 你可以根据客户端生成的结构中的值设置此变量

errormator_client是BSD许可的,有关详细信息,请参阅LICENSE。

客户端源: https://github.com/AppEnlight/errormator-client-python

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

errormator_client-0.5.15.tar.gz (36.3 kB 查看哈希值)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面