2013-11-02 42 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)