在Heroku上使用Gunicorn和Flask进行日志记录的简单方法

问题描述:

该应用程序在Heroku上运行,但运行时的问题是如何避免无用的错误消息Internal Server Error并获取更详细的错误消息。例如,在生产环境中,即使将app.debug设置为True,我仍然没有调试。在Heroku上使用Gunicorn和Flask进行日志记录的简单方法

这似乎是明智的做法,是将所有内容都记录到文件中,但我没有看到一些可以做到这一点的工作示例。例如,我只想写入一个文件。是否有任何最小工作示例代码,我可以看到,这是否输出应用程序错误?

当然,我的应用程序具有以下设置:

app.run(debug = True) 

我Procfile是:

web: gunicorn login:app 

的Heroku会抓住任何日志发送到标准输出和标准错误,并使其可在自己的日志记录的管道:https://devcenter.heroku.com/articles/logging
然后,您可以使用heroku logs命令访问您的应用程序的日志。

您可以使用--log-file -选项配置gunicorn将日志发送到STDOUT。
请参阅https://devcenter.heroku.com/articles/python-gunicorn#adding-gunicorn-to-your-application-procfile

+0

我可以编写手动注释 - 但我想从应用程序中捕获错误,但是我似乎无法使用上述设置执行此操作。 – disruptive