2013-02-13 73 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模塊擁有您所需要的一切。