[英]How to log error messages with Flask and foreman (heroku)?
我正在與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)
知道如何在使用foreman start
運行Flask時能夠讀取de錯誤消息嗎?
我遇到了類似的問題 - 最后問題不在於Foreman,而是在使用較新版本的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
為我解決了這個問題。
Heroku和Foreman希望您的日志轉到stdout
或stderr
,而不是文件。 有關日志記錄,請參閱Heroku文檔 。
對於Python應用程序,您可以使用logging.StreamHandler類,默認情況下會記錄到stderr
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.