Какой класс обработчиков Django / Python будет передавать журналы в UWSGI logger?


Я управляю своим сайтом Django как вассал императора UWSGI. Я создал /etc/uwsgi-emperor/vassals/mysite.ini следующим образом:

[uwsgi]
socket = /var/opt/mysite/uwsgi.sock
chmod-socket = 775
chdir = /opt/mysite
master = true
virtualenv = /opt/mysite_virtualenv
env = DJANGO_SETTINGS_MODULE=mysite.settings
module = mysite.wsgi:application
uid = www-data
gid = www-data
processes = 1
threads = 1
plugins = python3,logfile
logger = file:/var/log/uwsgi/app/mysite.log
vacuum = true

Но журналы Django не появляются в file:/var/log/uwsgi/app/mysite.log. Какой класс обработчика будет передавать журналы в UWSGI?

1 3

1 ответ:

Можно использовать класс logging.StreamHandler. Например, определение входа в систему settings.py следующим образом:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'filters': None,
            'class': 'logging.StreamHandler',
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console'],
            'level': 'DEBUG',
        },
    },
}