Flask 在 Gunicorn 中日志记录没有保存的问题

问题:

在使用 flask 开发中,python 标准 logging 模块可以正常使用,保存日志到文件中。将项目部署到服务器,使用 gunicorn 作为容器时,日志信息并没有保存到文件。


原因:

gunicorn 有自己的日志,使用 gunicorn 作为容器时,gunicorn 用的是自身的。


解决:

在 flask 中也使用 gunicorn 的日志,而不要使用自己定义的 logging,或者 flask 的 logging。


gunicorn 中定义了两种日志:

gunicorn.error 和 gunicorn.access


代码地址


所以将 flask 的 logging 去掉,改为 gunicorn 的 logger:

logger = logging.getLogger("gunicorn.error")

 

 

展开阅读全文