Ahoj,
dříve jsem Django projekty provozoval na uWSGI, teď zkouším přechod na Gunicorn a mám trochu problém s logováním.
Někde v kódu mám:
logger = logging.getLogger('django')
logger.error("ERROR")
V settings djanga mám:
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console': { 'level': 'DEBUG', 'class': 'logging.StreamHandler', }, }, 'loggers': { 'django': { 'handlers': ['console'], 'level': 'DEBUG', 'propagate': True, }, },
Konfigurace systemd:
ExecStart = /path/to/venv/bin/gunicorn project.wsgi \
--pythonpath /path/to/project/src \
--pid /run/gunicorn/www.example.com.pid \
--access-logfile /var/log/gunicorn/www.example.com.access.log \
--error-logfile /var/log/gunicorn/www.example.com.error.log
Byl bych rád, aby se ten error zalogoval do souboru:
/var/log/gunicorn/www.example.com.error.log
a ne na standardní výstup systemd, který vidím ve statusu service. Dává to smysl při nastaveném StreamHandleru? Nejsem si jistý, na které úrovni dělám něco špatně - django / gunicorn / systemd?
Poznámka: Log levely atd jsou jen testovací, reálně budu logovat pravděpodobně do Sentry a ne do logging.StreamHandler, ale jde mi spíš o pochopení, co a kde dělám špatně anebo špatně chápu.
Díky
H.