регистрация в Python - что делает «корневой» ключ dict? - PullRequest
0 голосов
/ 28 мая 2018

Я интегрирую Sentry в свой проект Django для регистрации ошибок, и начальная конфигурация регистрации , которую они рекомендуют , начинается следующим образом:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'root': {
        'level': 'WARNING',
        'handlers': ['sentry'],
    },
    ...
}

сейчас, я привык перечислять свои регистраторыи назначение обработчиков в ключе «logging» следующим образом:

'loggers': {
    '': {
        'handlers': ['console', 'mail_admins'],
        'level': 'INFO',
    },
}

Таким образом я собираю выходные данные всех регистраторов (имя '' захватывает все) и управляю моими обработчиками.

НоЧто делает добавление ключа root в иерархию журналов?Я не смог найти ответ в документации по python.

Из того, что я видел, он просто отключает все мои настроенные регистраторы с помощью одного sentry регистратора.Я перестаю видеть свои ошибки в консоли и т. Д.

Однако, если я игнорирую совет часового root и просто добавляю регистратор сюда

'loggers': {
    '': {
        'handlers': ['console', 'mail_admins', 'sentry'],
        'level': 'INFO',
    },
}

Все мои три регистратора начинают работать вместев гармонии.

Так что я не понимаю root вещь.Что это делает?

1 Ответ

0 голосов
/ 28 мая 2018

root - это будет конфигурация для корневого логгера.Обработка конфигурации будет такой же, как для любого регистратора, за исключением того, что параметр распространения не будет применим.

документы

дополнительная информация также stackoverflow

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...