Gunicorn: доступ к журналам файла вместо Stndout - PullRequest
0 голосов
/ 05 февраля 2019

Я использую развертывание сервера Digitalocean одним щелчком мыши с использованием следующих версий Python, Django и Gunicorn.

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 в файл после передачиОтносительный путь, по которому оружейный комбинат не перезапускается, давая код выхода 1.

Как записывать логи в emperor.log?

1 Ответ

0 голосов
/ 05 февраля 2019

Я думаю, вы можете попробовать это, используя django 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,
        },
    },
}
...