0

我正在尝试调试“POST”请求错误,但我没有足够的信息。因此,我需要帮助来了解更多信息。

我在我的tail -a. 这是它在尾部和日志本身内部显示的唯一内容。我认为 tail 没有-v冗长的。

==> 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

最后是代码16516并分别24告诉我一些特别的东西500 16516200 24?我知道 500/200 是 http 代码,但其他的是什么?

4

2 回答 2

0

您正在查看访问日志。毫不奇怪,错误会记录在错误日志中 - 您应该在那里查看更多详细信息。

(第二个值是响应中的字节数。)

于 2013-11-02T14:08:35.170 回答
0

我知道,不应该debug = True在实时服务器上使用,但如果这是寻找错误的唯一方法,您应该考虑将其打开几分钟以获取更多信息。

此外,django 调试工具栏可能会有所帮助,例如,它可以显示未写入文件但使用引发的附加日志消息

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)
于 2013-11-03T14:03:48.843 回答