Обработчик электронной почты администратора с фильтром продолжает отправлять электронные письма
Я пытаюсь заглушить специфическую ошибку, получаемую по электронной почте через регистратор django.request
:
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
}
Фильтр silence_invalid_header
присоединен к обработчику:
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false', 'silence_invalid_header'],
'class': 'django.utils.log.AdminEmailHandler'
}
}
Это конфигурация фильтра:
'silence_invalid_header': {
'()': 'mysite.logger_utils.SilenceInvalidHttpHostHeader'
}
И сам класс фильтра:
class SilenceInvalidHttpHostHeader(logging.Filter):
def filter(self, record):
return 'Invalid HTTP_HOST header' not in record.msg
Однако я продолжаю получать электронные письма.
Хотя django.request
установлен для распространения, он должен распространяться на стандартный регистратор Django django
, определенный в django.utils.log.DEFAULT_LOGGING
:
'django': {
'handlers': ['console'],
}
И этот hanlder просто пишет на стандартный вывод:
'console': {
'level': 'INFO',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
}
Почему я продолжаю получать электронные письма с этой ошибкой и как я могу заглушить их?