Python - 创建有意义的崩溃日志/崩溃报告

Posted

技术标签:

【中文标题】Python - 创建有意义的崩溃日志/崩溃报告【英文标题】:Python - Creating meaningful crash logs / crash report 【发布时间】:2013-01-29 03:50:26 【问题描述】:

实际问题(崩溃日志生成)

是否有 python 模块可以帮助我生成有意义的崩溃日志?还是生产它们的好方法?

我希望我的崩溃日志包含:

当前执行堆栈中的所有变量 所有全局变量 调用时的参数(即标志、它们的值等)

这是我自己写的更好的东西吗?

上下文(不是特别相关)

我有一个由我负责支持的公司内很多人使用的程序。不幸的是,它并不总是能正常工作(大约 1000 次中的 1 次),而且我很难追踪错误。我认为拥有可靠的崩溃日志在这里真的很有帮助,这样我的用户就可以提交这些日志,而不是模糊地打电话寻求帮助。

【问题讨论】:

这并不能直接回答您的问题,但它可能有助于调试问题。基本上,您可以定义一个装饰器,该装饰器将在引发异常的情况下获取堆栈跟踪和局部变量。我自己还没有实现它,但我已经看到这将为我节省大量的调试时间:***.com/questions/14719363/… 【参考方案1】:

你可以看看 django 是如何生成它的错误页面的:https://github.com/django/django/blob/master/django/views/debug.py#L59

在非调试模式下,这些会被邮寄到设置文件中的管理员列表中。超级好用!

【讨论】:

我同意。我通常可以通过查看 Django 发送给我的电子邮件来找到错误的来源、原因和解决方案。最好的部分是它甚至包括会话数据,所以我经常向发现错误的人发送一封安慰性的电子邮件,而他们甚至没有报告它。 是的,我也这样做。或者在工作中,强迫 som 同事发送电子邮件,因为客户不应该直接访问开发人员的邮件地址:P【参考方案2】:

pythonlogging 模块已经拥有你需要的一切。

【讨论】:

以上是关于Python - 创建有意义的崩溃日志/崩溃报告的主要内容,如果未能解决你的问题,请参考以下文章

使用调试/崩溃报告将应用程序部署到客户端

TestFlight 崩溃报告

不要忘记在错误报告中包含 DiagnosticReports 目录下的崩溃报告日志文件

ReactNative进阶(五十):IOS 系统 Crash 日志分析实战

如何查看两周前的 Apple App Store 崩溃报告?

从 B 站崩溃报告看分布式系统的技术栈