2013-02-13 132 views
1

实际的问题(崩溃日志代)的Python - 创建有意义的崩溃日志/崩溃报告

是否有一个Python模块,可以帮助我产生有意义的崩溃日志?或者制作它们的好方法?

我希望我的崩溃日志包含:当前执行堆栈内

  • 所有变量
  • 所有的全局变量在调用
  • 参数(即标志,它们的值等)

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

上下文(不是特别相关)

我有一个使用了大量的我公司内部的人,我负责支持的程序。不幸的是,它并不总是正常工作(大约1000次中的1次),并且我很难追踪错误。我认为拥有坚实的崩溃日志对我们来说确实有帮助,这样我的用户就可以提交这些日志,而不是通过模糊的电话寻求帮助。

+0

这并不直接回答你的问题,但它可能有助于调试问题。基本上,你可以定义一个装饰器,在引发异常的情况下,它将抓取堆栈跟踪和局部变量。我自己还没有实现它,但我已经可以看到,这将节省我时间调试的时间:http://stackoverflow.com/questions/14719363/a-fail-safe-for-long-running-python-脚本 – BenDundee 2013-02-13 14:56:19

回答

3

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

在非调试模式下,这些邮寄给在设置文件管理员列表。它非常方便!

+0

我同意。通过查看Django发给我的电子邮件,我通常可以找到bug的来源,原因和解决方案。最好的部分是它甚至包括会话数据,所以我经常发送一封安慰邮件给那些得到错误的人,甚至没有他们的报告。 – 2013-02-13 14:59:44

+0

是的,我也是。或者在工作中,迫使索姆同事发送电子邮件,因为客户不应直接访问开发人员邮件地址:P – boxed 2013-02-14 12:20:20

0

蟒蛇logging模块拥有您所需要的一切。