Я хочу настроить регистратор Sentry для проекта Django. Я буду определять обработчик sentry
и поместит этот обработчик в корневой журнал с уровнем error
.Корневой регистратор в dictconfig
Согласно документации logging
модуля, есть специальный root
ключ:
root
- это будет конфигурация для корневого регистратора. Обработка конфигурации будет такой же, как для любого регистратора, за исключением того, что установкаpropagate
не применима.
В то же время в местах other регистратор с именем ''
используется для хранения конфигурации для корневого регистратора.
Имеет ли такой эффект? Что предпочтительнее?
>>> import logging
>>> logging.getLogger('') is logging.root
True
>>>
Это значение * не * представляется правильным при определении конфигурации ведения журнала с помощью атрибута [settings.LOGGING] (https://docs.djangoproject.com/en/dev/topics/logging/#configuring-logging) в Django 1.7! Я регистрируюсь в названном логгере в модуле просмотра, и запись журнала записывается, если я определил регистратор с именем '' ''в моей' LOGGING', но * not *, если я назову его '' root''. К сожалению, в документации Django отсутствует инструкция о том, как вообще обращаться с корневым регистратором. –
@hheimbuerger Это не названный корень в loggers dict, он параллелен логическим файлам dict. Дополнительную информацию см. В https://docs.python.org/2/library/logging.config.html#dictionary-schema-details. –