1

好的,这是我的困惑/问题:

  1. 我在 localhost 中开发,在那里你可以引发异常并且可以轻松地在命令行中查看日志。
  2. 然后我将代码部署在测试、阶段和生产服务器上,这就是问题开始的地方,不容易看到日志或调试错误和异常。对于正常错误,我猜 django-toolbar 可以启用,但我确实得到了一些不会崩溃的静默异常,但该过程因此而导致失败。例如,我有支付集成,几天前我们网站上的支付失败(回调),但没有崩溃,只是支付过程失败消息来了,但支付网关供应商工作正常,然后我不得不寻找一些可能导致此问题的失败实例,并发现一个数据库保存操作没有保存,因为变量不存在。

现在我的问题是,Sentry(https://github.com/getsentry/sentry)是一个答案吗?或者还有其他选择吗?

请询问我的要求是否需要进一步澄清。

4

1 回答 1

1

Sentry 是一个选项,但老实说太有限了(我在一个月前尝试过),它旨在跟踪异常,但在现实世界中我们也应该跟踪重要信息和事件。如果您没有设置应用程序日志记录,我建议您按照此示例进行设置。

在我的应用程序中,我为不同的目的定义了几个记录器,通过字典(Django 使用的那个)的 python 日志记录配置非常强大,您可以完全控制记录的方式,例如,您可以将日志写入文件,到数据库,发送电子邮件,调用第三方 api 或其他任何东西。如果您的应用程序在负载平衡环境中运行(因此您有几台机器运行您的应用程序),您可以使用Loggly之类的服务将来自您的实例的日志聚合在一个地方(并且由于它使用RSYSLOG,它不仅聚合您的 Django 应用程序日志,以及您的底层操作系统的所有日志)。我建议你也使用New Relic,它会自动跟踪很多东西:查询执行和时间、模板加载时间、错误和许多其他有用的统计信息。

于 2014-04-04T12:59:08.813 回答