6

我正在与 Flask 和 Foreman 合作进行 Heroku 托管。我开始我的本地服务器键入foreman start. 我的问题是我想查看我的代码生成的日志错误消息,但我还没有找到正确的方法。

我尝试使用我在 Flask 文档中找到的一些代码,但它也不起作用:

import logging
from FileHandler import FileHandler
file_handler = FileHandler("log.txt")
file_handler.setLevel(logging.WARNING)
app.logger.addHandler(file_handler)

知道如何在运行 Flask 时读取错误消息foreman start吗?

4

2 回答 2

8

我有一个类似的问题 - 最后问题不在于工头,而是使用较新版本的 Gunicorn,默认情况下禁用控制台日志记录(http://gunicorn-docs.readthedocs.org/en/latest/faq .html#why-i-don-t-see-any-logs-in-the-console)。

从以下位置更改我的 procfile:

web: gunicorn app:app

web: gunicorn --log-file=- app:app

为我解决了这个问题。

于 2014-07-02T22:52:42.980 回答
1

Heroku 和 Foreman 期望您的日志转到stdoutstderr,而不是文件。请参阅有关记录的 Heroku 文档

对于 Python 应用程序,您可以使用默认记录到的logging.StreamHandler类。stderr

于 2013-10-12T22:41:41.613 回答