簡體   English   中英

如何使用Flask和foreman(heroku)記錄錯誤消息?

[英]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希望您的日志轉到stdoutstderr ,而不是文件。 有關日志記錄,請參閱Heroku文檔

對於Python應用程序,您可以使用logging.StreamHandler類,默認情況下會記錄到stderr

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM