Журналирование Django регистрирует только "root", без других обработчиков
Вот моя конфигурация регистрации в Django:
LOGGING = {
"version": 1,
"disable_existing_loggers": False,
"filters": {"require_debug_false": {"()": "django.utils.log.RequireDebugFalse"}},
"formatters": {
"verbose": {
"format": "%(levelname)s %(asctime)s %(module)s "
"%(process)d %(thread)d %(message)s"
}
},
"handlers": {
"mail_admins": {
"level": "ERROR",
"filters": ["require_debug_false"],
"class": "django.utils.log.AdminEmailHandler",
'include_html': True,
},
"console": {
"level": "DEBUG",
"class": "logging.StreamHandler",
"formatter": "verbose",
},
"file": {
"class": "logging.FileHandler",
"filename": os.path.join(APPS_DIR + "..", "app.log"),
},
'db_queries': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': os.path.join(APPS_DIR + "..", 'db_queries.log'),
},
},
"root": {
"level": "WARNING",
"handlers": ["file", "mail_admins"],
"propagate": True,
},
"loggers": {
"django.request": {
"handlers": ["file", "mail_admins"],
"level": "ERROR",
"propagate": True,
},
"django.security.DisallowedHost": {
"level": "ERROR",
"handlers": ["file", "mail_admins"],
"propagate": True,
},
"django": {
"handlers": ["file"],
"level": "DEBUG",
"propagate": True,
},
'django.db.backends': {
'level': 'DEBUG',
'handlers': ['db_queries'],
'propagate': False,
},
},
}
Логгер "root" работает, как для файла, так и для mails_admin, но другие логгеры, похоже, ничего не делают. Я ожидал, что по крайней мере обработчики "django" и "django.db.backends" будут что-то записывать в файл.
Есть идеи, что может быть причиной?