从PID中查看日志!= 1

时间:2018-04-19 15:41:01

标签: python docker logging gunicorn

我的docker容器正在运行带有gunicorn的django应用程序。

root@72981b4f355e:/usr/src/app# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMDq
root         1     0  0 15:32 ?        00:00:00 /usr/local/bin/python /usr/local/bin/gunicorn MyApp.wsgi:application --bind 0.0.0.0:8000 --workers 3
root         9     1  1 15:32 ?        00:00:02 /usr/local/bin/python /usr/local/bin/gunicorn MyApp.wsgi:application --bind 0.0.0.0:8000 --workers 3
root        11     1  1 15:32 ?        00:00:02 /usr/local/bin/python /usr/local/bin/gunicorn MyApp.wsgi:application --bind 0.0.0.0:8000 --workers 3
root        12     1  1 15:32 ?        00:00:02 /usr/local/bin/python /usr/local/bin/gunicorn MyApp.wsgi:application --bind 0.0.0.0:8000 --workers 3
root        21     0  0 15:35 ?        00:00:00 bash
root        28    21  0 15:35 ?        00:00:00 ps -ef

日志没有显示任何内容,因为工作人员(生成日志的人)不是PID1。

如何查看工作人员的日志? Gunicorn的启动如下:

exec gunicorn MyApp.wsgi:application \
    --bind 0.0.0.0:8000 \
    --workers 3

1 个答案:

答案 0 :(得分:1)

对于访问日志,如果要查看worker stdout,可以添加--access-logfile ---capture-output。您还可能需要设置PYTHONUNBUFFERED = 1 env var。

来源:http://docs.gunicorn.org/en/stable/settings.html