Python:我如何测试我的错误已记录在哨兵上?

时间:2017-05-22 11:16:22

标签: python logging sentry raven

我已将我的python默认记录器与raven集成。现在我的错误记录在sentry.io/my_app上。但是我想问一下,有没有什么办法可以为这个函数编写生成错误的单元测试,然后以某种方式确认这个错误会在哨兵上退出。

2 个答案:

答案 0 :(得分:0)

您可以使用pytest https://docs.pytest.org/en/latest/为您的代码编写单元测试。但是,sentry用于监视应用程序,它可以帮助您按优先级修复错误。而不是确认来自哨兵的错误信息,通过查看哨兵来修复错误更有用。

答案 1 :(得分:0)

在Raven-Python中,您可以实现custom transport来换出HTTP请求以进行简单的回调。这是通过实现一个抽象类来完成的,不幸的是,该类没有很多文档,并且您获得的数据是json编码数据的字节串。您可以在这里找到抽象类:https://github.com/getsentry/raven-python/blob/285b257cf386bfac78f6fe334c9044af65f98561/raven/transport/base.py#L26

the new SDK中,您可以在其中编写代码(而不提供DSN)稍微容易一些:

events = []
init(transport=events.append)

将事件收集到数组中,而不是将事件发送到服务器。