我正在使用以下版本的Python,Django和Gunicorn使用Digitalocean一键式Django服务器部署。
gunicorn (version 19.7.1)
python 2.7
我似乎无法弄清楚如何将访问日志记录到文件中。以下是我的gunicorn.service文件。
[Unit]
Description=Gunicorn daemon for Django Project
Before=nginx.service
After=network.target
[Service]
WorkingDirectory=/home/django/egre
ExecStart=/usr/bin/gunicorn --name=egre --pythonpath=/home/django/egre --bind unix:/home/django/gunicorn.socket --config /etc/gunicorn.d/gunicorn.py --access-logfile /var/log/emperor.log eGRE.wsgi:application
Restart=always
SyslogIdentifier=gunicorn
User=django
Group=django
[Install]
WantedBy=multi-user.target
https://docs.gunicorn.org/en/19.7.1/settings.html#logging
按照上述说明操作后,我尝试使用--access-logfile=-
,该方法可以正常工作,但在通过相对路径后不会将stndout记录到文件中,因此,gunicorn不会重新启动并给出退出代码1。
如何将日志写入emperor.log?
答案 0 :(得分:1)
我认为您可以使用django's logging这样尝试:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/path/to/logger/gunicorn_access.log',
},
},
'loggers': {
'gunicorn.access': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}