I'm running gunicorn behind ngninx. I want to log errors in gunicorn to gunicorn-error.log and access logs to gunicorn-access.log.
I've got the errorlog working but not the access log, what am I doing wrong?
This is my gunicorn.conf.py:
bind = '127.0.0.1:8888'
backlog = 2048
workers = 3
errorlog = '/home/my/logs/gunicorn-error.log'
accesslog = '/home/my/logs/gunicorn-access.log'
loglevel = 'debug'
proc_name = 'gunicorn-my'
pidfile = '/var/run/my.pid'
This is the script to run gunicorn:
#!/bin/bash
set -e
ENV=/home/my/env/bin/activate
GUNICORN=gunicorn_django
SETTINGS_PATH=/home/my/app/app/settings
PROJECT_PATH=/home/my/app
CONFROOT=/home/my/app/conf/gunicorn.conf.py
cd $SETTINGS_PATH
source $ENV
export PYTHONPATH=$PROJECT_PATH
exec $GUNICORN app.settings.staging -c $CONFROOT
It creates both gunicorn-error.log and gunicorn-access.log but only gunicorn-error.log gets any logs, eg:
2012-11-20 11:49:57 [27817] [INFO] Starting gunicorn 0.14.6
2012-11-20 11:49:57 [27817] [DEBUG] Arbiter booted
2012-11-20 11:49:57 [27817] [INFO] Listening at: http://127.0.0.1:8888 (27817)
2012-11-20 11:49:57 [27817] [INFO] Using worker: sync
2012-11-20 11:49:58 [27825] [INFO] Booting worker with pid: 27825
2012-11-20 11:49:58 [27828] [INFO] Booting worker with pid: 27828
2012-11-20 11:49:58 [27830] [INFO] Booting worker with pid: 27830
What am I doing wrong? Anyone want to share their working gunicorn.conf.py with error logs and access logs?
Specifying
'disable_existing_loggers': False
inlogging.config.dictConfig
works for me.http://docs.python.org/2/library/logging.config.html#logging.config.fileConfig
I have changed my logging configuration in Django to following and it helped: