集成哨兵错误报告的金字塔插件

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,则事件不会发送到 哨兵。在

例如,要防止报告ValueErrors:

^{pr2}$

设置

扩展将侦听以下金字塔部署设置:

Pyramid settingEffect
^{}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

  • pyenv 按照pyenv自述文件中的说明进行安装。 自制方法在macOS上效果最好。 在Ubuntu上,遵循基本的GitHub签出方法。在

克隆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"放入 ^{}并将其提交给git。在

如果您希望make template更新disable_replay中列出的文件 只需删除该文件,然后运行make template,它将重新创建该文件 为你。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JFrame中的Java多线程   java Servlet异常映射   java无法从输出流读取   swing Java带来的小程序GUI问题   java什么原因导致错误“'void'类型此处不允许”以及如何修复它?   Java选择器select(长)与selectNow的区别   java自定义arraylist<mygames>获得不同   java Icepdf注释让页面消失   java反向整数数组   java I在生成同步“无法解析配置的所有依赖项”时遇到此错误:app:debugRuntimeClasspath   多个虚拟机上的java线程访问单个DB实例上的表,有时会导致性能低下和异常   swing更改Java中的默认按钮,使其看起来“更好”   java慢速MQ主题订阅。并行化不能提高性能   java运行Boggle Solver需要一个多小时。我的代码怎么了?   数据库中的java循环与应用程序中的java循环   正则表达式匹配${123…456}并在Java中提取2个数字?   java如何制作我们软件的试用版   Java内存参数计算   从另一个类调用方法时出现java问题