2013-11-02 45 views
0

我試圖調試「POST」請求錯誤,但我沒有足夠的信息。因此,我需要幫助來弄清楚更多。我的tail -a中出現以下錯誤。這是它在尾部和日誌內部顯示的唯一東西。我假定這個尾巴沒有詳細的-v從django/python或服務器日誌獲取更多信息

==> python/logs/access_log-20131102-000000-EST <== 
85.75.241.1 - - [02/Nov/2013:09:09:47 -0400] "POST /dajaxice/async.store_event/ HTTP/1.1" 500 16516 "http://example.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36" 

(我改變了example.com以上與原)

我應該在哪裏搜索,以獲取有關在日誌文件中此500錯誤的其他信息?我可以強制python告訴更多?

在本地服務器中,我得到以下不會告訴特定的事情。

[02/Nov/2013 14:22:15] "POST /dajaxice/async.store_event/ HTTP/1.1" 200 24 

最後是代碼1651624告訴我分別在500 16516200 24什麼特別的事?我知道500/200是http代碼,但其他代碼是什麼?

+2

怎麼樣在你的settings.py用'調試= TRUE;在瀏覽器中打開網頁?這是默認的調試器。通常已經足夠了 – yuvi

+0

你可以配置django在日誌中輸入完整的錯誤信息以發現任何錯誤。 '500'是服務器錯誤,所以如果你啓用了調試,你將得到django的所有請求信息的調試頁面。 – Rohan

回答

0

您正在查看訪問日誌。不出所料,錯誤記錄在錯誤日誌中 - 您應該在那裏查看更多詳細信息。

(第二個值是在響應字節數)。

0

我知道,一個人不應該活的服務器上使用debug = True,但如果是追捕一個錯誤的唯一途徑,歐宜考慮打開幾分鐘以獲取更多信息。

此外,django調試工具欄可以幫助,例如,它可以DISPLY未寫入到文件,但凸起addidtional日誌消息使用

import logging 
logger = logging.getLogger(__name__) # Get an instance of a logger __name__ will be your app name 

和例如使用

logger.debug(str(form.cleaned_data)) 

或者你寫你自己的記錄:

"""Logger to File""" 
file_logger = logging.getLogger("file_logger") 
file_logger.setLevel(logging.DEBUG) 
formatter = logging.Formatter('%(asctime)s - %(message)s') 
handler = logging.handlers.RotatingFileHandler(os.path.join(MEDIA_ROOT, "log", "filelogger_log.log"), maxBytes=10000000, backupCount=5) 
handler.setFormatter(formatter) 
file_logger.addHandler(handler)