在gunicorn和主管后面的烧瓶 - 记录所有请求和响应

时间:2015-08-04 16:58:14

标签: python flask gunicorn supervisor

我继承了一个在gunicorn和主管后面运行的烧瓶服务器。在我希望看到的日志文件中:

  • 所有传入的请求
  • 所有传出回复
我有多名枪手。我的gunicorn.conf.py看起来像这样:

import multiprocessing

bind = "0.0.0.0:8000"

workers = multiprocessing.cpu_count() * 2 + 1
worker_class = 'gevent'

max_requests = 1000
timeout = 30
keep_alive = 2

preload = True

gunicorn.conf的{​​{1}}如下所示:

supervisor

使用[program:gunicorn] command=/opt/anaconda/bin/gunicorn manage:app -c /etc/config/gunicorn.conf.py directory=/root/ourthing/web environment=PYTHONPATH=/root/ourthing/web user=root autorestart=true stdout_logfile=/opt/logs/gunicorn_stdout.log stderr_logfile=/opt/logs/gunicorn_stderr.log loglevel=info priority=400 ,我希望在loglevel=infogunicorn_stdout.log中看到请求和回复,但没有骰子。

我已经实施了this进行日志记录,但它可以正常运行,但必须手动发送每个请求和gunicorn_stderr.log的响应似乎很疯狂。

是否有setting somewhere here这会自动发生?

如果是这样,我该把它放在哪里?

另外,我假设所有工作人员都写到同一个日志......

编辑:以下是我通过接受的答案添加到logger.info的内容:

gunicorn.conf.py

1 个答案:

答案 0 :(得分:7)

loglevel配置设置仅影响错误日志,因此更改其值不会帮助您记录成功的请求和响应。

相反,请尝试在gunicorn.conf.py配置文件中设置accesslog(以启用访问日志)和access_log_format