错误/异常收集器和报告器
项目描述
zilch
zilch 是一个用于记录和查看Python异常的小型库。这个库受到了David Cramer的 Sentry 的启发(并使用了一些相同的功能),但旨在以更小的代码/功能占用实现核心功能。
要求
可选
ZeroMQ(用于基于网络的报告)
SQLAlchemy(用于数据库后端记录器)
Pyramid 和 WebHelpers(用于记录器的Web UI)
基本用法
报告异常
在希望报告错误的程序中导入zilch,并将报告器配置为直接记录到数据库
from zilch.store import SQLAlchemyStore import zilch.client zilch.client.store = SQLAlchemyStore('sqlite:///exceptions.db')
然后报告异常
from zilch.client import capture_exception try: # do something that explodes except Exception, e: capture_exception()
错误将被记录在数据库中,供以后查看。
高级用法
在大型集群场景或延迟重要的场景中,异常的报告可以交给 ZeroMQ,通过网络记录到一个中央记录器。客户端和记录机都必须安装 ZeroMQ。
设置记录器客户端
import zilch.client zilch.client.recorder_host = "tcp://localhost:5555"
然后报告异常
from zilch.client import capture_exception try: # do something that explodes except Exception, e: capture_exception()
异常将被发送到在 recorder_host 指定的 recorder_host 上监听的记录器。
集中记录异常
记录器使用 ZeroMQ 来记录通过网络传递的异常报告。要在记录它们的机器上运行记录器主机,请运行
>> zilch-recorder tcp://localhost:5555 sqlite:///exceptions.db
如果没有运行 录音器,ZeroMQ 将保留消息,直到它可用。之后,它将开始阻塞(将来将添加一个选项来配置消息的磁盘卸载)。
录音器在其初始启动时将创建必要的表。
查看记录的异常
zilch 附带一个 Pyramid 网络应用程序来查看记录的异常数据库。一旦您安装了 Pyramid 和 WebHelpers,您可以运行网络界面,方法是在终端中键入
>> zilch-web sqlite:///exceptions.db
还有额外的网络配置参数可用于指定网络应用程序应绑定到的主机/端口(通过运行带 -h 选项的 zilch-web 来查看)。
许可证
zilch 以 MIT 许可证提供。
支持
zilch 被认为是功能齐全的,因为项目所有者(Ben Bangert)没有计划进行任何其他功能或开发,除了错误修复。错误可以在 github 上报告,应附有测试用例以保留当前代码覆盖率,并且应在准备好接受到 zilch 代码库时以拉取请求的形式提交。
对于功能更全的错误收集器,Sentry 现在有了一个独立的客户端,不再需要 Django,称为 Raven。 zilch 是在 Raven 可用之前创建的,现在作者大部分时间使用 Raven 而不是 zilch。
zilch
0.1.3 (01/13/2012)
功能
应用 Marius Gedminas 的拉取请求,以向错误视图网络应用程序添加前缀选项支持。
0.1.2 (08/07/2011)
错误修复
在请求结束时清理会话。
0.1.1 (07/25/2011)
错误修复
修复 client.py 中 webob 导入的 bug
0.1 (07/25/2011)
功能
通过 SQLAlchemy 和/或 ZeroMQ 报告异常
记录存储可以是可插拔的
WSGI 中间件以捕获带有 WSGI/CGI 环境数据的异常
为录音器提供网络用户界面,以查看收集到的异常
事件标记以记录每个异常的附加信息,例如主机名、应用程序等。
项目详情
zilch-0.1.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 90475daeefd1e8845e69c2bf45ae5125fecf77b24b8bc31bbe39f29e792f43f5 |
|
MD5 | 5a957c061de9fc49163fe5ce5746e07f |
|
BLAKE2b-256 | c847340ef993aea122ef5a307ed76529fd0c2fe70f59b2aac5ed0a66920437af |