Is there a way to log python print statements in gunicorn?

纵然是瞬间 提交于 2019-11-30 11:08:37

It turns out the print statements were actually getting through, but with delay.

The gunicorn docs for --enable-stdio-inheritance note to set the PYTHONUNBUFFERED, which I thought I had, but it seems with wrong syntax.

I solved it using a .env file with my foreman setup to set the variable like this:

PYTHONUNBUFFERED=TRUE

In python 3, adding flush=True in each print statement works for my flask/gunicorn app.

E.g.

gunicorn --bind 0.0.0.0:8080 server --log-level debug

No particular flags are required.

See if this helps.

Please try below command:

gunicorn --workers 3 --bind 127.0.0.1:5000 --error-logfile /var/log/gunicorn/error.log --access-logfile /var/log/gunicorn/access.log --capture-output --log-level debug

It did work for me.

Please specify log-level to debug(default info)http://docs.gunicorn.org/en/stable/settings.html#loglevel,

Also, specify capture-output flag (default false)http://docs.gunicorn.org/en/stable/settings.html#capture-output.

You should be able to watch logs in error log file.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!