2010-01-10 45 views
5

可能重複:
Django Unhandled Exception如何用Apache + mod_python + Django跟蹤500個服務器錯誤?

我隨機得到500服務器錯誤,並試圖診斷問題。安裝程序是:

的Apache + mod_python的Django的+

我500.html頁正在送達Django的,但我不知道是什麼原因造成的錯誤。我的Apache訪問日誌和error.log文件不包含任何有價值的調試信息,除了顯示請求返回500.

有沒有mod_python或一般python錯誤日誌某處(Ubuntu服務器)?

謝謝!

回答

3

是的,你應該在你的apache confs中有一個關於虛擬服務器錯誤日誌的地方。 比如我的虛擬服務器的名稱是djangoserver,並在我的/ etc /啓用站點-的Apache2// djangoserver文件

ErrorLog /var/log/apache2/djangoserver-errors.log 

雖然現在我重讀你的問題,看來你已經擁有的行apache日誌照顧。我不相信有任何單獨的日誌mod_python或python本身。

這是一個生產設置?

如果不是,您可能希望打開Debug mode,然後Django會生成包含錯誤信息的非常詳細的屏幕。在您項目的settings.py中,設置

DEBUG = True 
TEMPLATE_DEBUG = DEBUG 

禁用通用500錯誤屏幕並查看詳細分類。

+0

感謝您的回覆。我已經閱讀了Apache錯誤日誌,但這些信息並不十分寶貴。是的,這是一個生產環境,所以我不想打開DEBUG。 困難的部分是,我沒有看到錯誤,但客戶是隨機的。所以我想追溯性地診斷。我的夢想是在某處的錯誤日誌中看到一個Python堆棧跟蹤。 – 2010-01-11 15:13:09

+0

我知道你的意思,我有我的所有錯誤記錄爲PHP,但我不知道如何讓它與Django去。實際上,我也需要知道。 diegueus9的迴應導致了一些很好的信息。 – JAL 2010-01-12 03:24:37

0

薩爾薩提出了一些很好的建議。我會補充說Django開發服務器是一個很好的跟蹤這些事情的環境。有時候我甚至用./manage.py runserver 0.0.0.0:8000從生產目錄(gasp!)運行它,所以我知道我正在運行相同的代碼。

不可否認的是,有時候某些東西在Apache下並不在開發者服務器下失敗,但這本身就是一個暗示。