Заставить Django записывать информацию в консоль и ошибки в файл

Я сделал следующую конфигурацию протоколирования:

settings.py

LOGGING = {
    "version": 1,
    "disable_existing_loggers": False,
    "filters": {
        "require_debug_false": {"()": "django.utils.log.RequireDebugFalse",},
        "require_debug_true": {"()": "django.utils.log.RequireDebugTrue",},
    },
    "formatters": {
        "django.server": {
            "()": "django.utils.log.ServerFormatter",
            "format": "[{server_time}] {message}",
            "style": "{",
        }
    },
    "handlers": {
        "console": {"level": "INFO", "filters": ["require_debug_true"], "class": "logging.StreamHandler",},
        "file": {
            "level": "ERROR",
            "filters": ["require_debug_false"],
            "class": "logging.FileHandler",
            "filename": BASE_DIR / "debug.log",
        },
        "django.server": {"level": "INFO", "class": "logging.StreamHandler", "formatter": "django.server",},
        "mail_admins": {
            "level": "ERROR",
            "filters": ["require_debug_false"],
            "class": "django.utils.log.AdminEmailHandler",
        },
    },
    "loggers": {
        "django": {"handlers": ["file", "console"], "level": "INFO",},
        "django.server": {"handlers": ["django.server"], "level": "INFO", "propagate": False,},
    },
}

И просто хочу нормальное логирование консоли Django наряду с логированием файла, когда происходят любые ошибки. В настоящее время это прекрасно регистрирует консольную информацию и создает debug.log, но ничего в него не выводит. Это было проверено, просто вызвав синтаксическую ошибку в файле настроек

Что не так с этой конфигурацией?

Вернуться на верх