集成哨兵错误报告的金字塔插件
h-pyramid-sentr的Python项目详细描述
假设金字塔哨兵延伸
目前该库主要用作实验测试 地面,因此不建议一般使用。
这是一个金字塔延伸 sentry-sdk's Pyramid integration 并添加了一些额外的定制和功能。在
特点
- 在
为您初始化sentry sdk及其金字塔集成。 你的应用只需设置你想要的
在"h_pyramid_sentry.*"
设置 然后执行config.include("h_pyramid_sentry")
(有关详细信息,请参阅下面的说明)。在 - 在
如果您的应用程序正在使用,则阻止向Sentry报告可重试的异常 pyramid_retry 而且请求会被重审 (需要
"h_pyramid_sentry.retry_support": True
设置,请参见下文)。在如果没有请求,可重试的异常仍将报告给Sentry 将再次重试,因为它已用完重试尝试,或者因为 其中一次重试失败,并出现不可重试的异常。当这种情况发生时 只有请求的最后尝试的异常才会报告给Sentry,所以 每个请求都有一个哨兵事件不是多个,而是关于 先前失败的尝试的异常将添加到单个哨兵事件中。在
在 - 在
忽略由
exc_logger
记录的错误,如果你的应用正在使用 pyramid_exclog。在pyramid_exclog记录所有带有日志级别错误的异常,这些 被sentry\u sdk的enabled-by-default logging integration接收。 这意味着哨兵的所有例外似乎都来自 一些处理了通常不会处理的异常 现在向哨兵报告将得到报告。此扩展阻止 告诉sentry_sdk忽略exc_logger的干扰。在
在 - 在
为应用程序注册自己的筛选器提供了一种方便的方法 他们不想向哨兵报告的异常和记录的错误。 请参阅下面的
在"h_pyramid_sentry.filters"
设置。在
使用
config.add_settings({...})# See below for available settings.config.include("h_pyramid_sentry")
过滤器
在金字塔配置中,您可以在
设置h_pyramid_sentry.filters
。在
这些函数被传递给Event对象
他们可以检查。如果函数返回True
,则事件不会发送到
哨兵。在
例如,要防止报告ValueError
s:
设置
扩展将侦听以下金字塔部署设置:
Pyramid setting | Effect |
---|---|
^{ | A dict of any options understood by ^{ |
^{ | A list of functions to apply as filters |
^{ | Enable retry detection and filtering |
^{ | Enable Celery support for Sentry |
^{ | Enable SQLAlchemy support for Sentry |
*启用重试或芹菜支持需要应用程序将相关依赖项(pyramid_retry
或{
根据Sentry docs,该
如果设置了环境变量SENTRY_DSN
,则将自动读取该变量,尽管这可以
也可以通过h_pyramid_sentry.init
与任何其他Sentry SDK选项一起传递。在
黑客攻击
在开发环境中安装h-pyramid-sentry
您需要
克隆git repo
git clone https://github.com/hypothesis/h-pyramid-sentry.git
这将把代码下载到h-pyramid-sentry
目录中
在当前工作目录中。你需要在
h-pyramid-sentry
目录,用于安装的其余部分
流程:
cd h-pyramid-sentry
运行测试
make test
就这样!您已经完成了h金字塔哨兵的设置
发展环境。运行make help
查看
可用于线切割、代码格式化、包装等
更新Cookiecutter脚手架
此项目是从 https://github.com/hypothesis/h-cookiecutter-pypackage/模板。 如果h-cookiecutter-pypackage本身在这个项目创建后发生了变化,并且 如果要用最新的更改更新此项目,可以“重播” 这个项目的厨师长。运行:
make template
这将更改工作树中的文件,应用最新的 h-cookiecutter-pypackage模板的更新。检查和测试 改变,做任何修正然后提交给git并发送一个 拉取请求。在
如果您希望make template
跳过某些文件,永远不要更改它们,请添加
将这些文件"options.disable_replay"
放入
^{
如果您希望make template
更新disable_replay
中列出的文件
只需删除该文件,然后运行make template
,它将重新创建该文件
为你。在
- 项目
标签: