Настройка сообщений электронной почты об ошибках Django - PullRequest
0 голосов
/ 27 сентября 2019

До Django 2.2 я использовал специальное промежуточное ПО для перехвата и отправки по электронной почте всех отчетов об ошибках, включая множество полезной информации, включая имя сервера и трассировку Python.

В Django 2.2, аналогичнофункциональность теперь включена по умолчанию .К сожалению, он не такой многословный, как мне бы хотелось, и он переопределяет мое пользовательское промежуточное ПО, поэтому теперь я получаю меньше информации.Несмотря на утверждения документа, электронное сообщение об ошибке Django не включает ни трассировку Python, ни ошибку из исключения.Все электронные письма называются «Внутренняя ошибка сервера» и содержат только URL и словари GET и POST.Вы можете себе представить, как расстраивает диагностика ошибки «Внутренняя ошибка сервера» с использованием чуть более URL-адреса.

Как отключить настраиваемую программу отправки сообщений об ошибках Django?Документы утверждают, что он включен и настроен с помощью параметров ведения журнала, но даже если я удаляю все ссылки на django.utils.log.AdminEmailHandler в моей конфигурации ведения журнала, Django по-прежнему отправляет сообщения об ошибках по умолчанию вместо использования промежуточного программного обеспечения.

В качестве альтернативыЕсть ли способ исправить содержимое электронной почты, чтобы оно содержало что-то полезное?Это моя текущая конфигурация регистрации:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
        },
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
        'console': {
            'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s'
        },
        'coloredlogs': {
            '()': 'coloredlogs.ColoredFormatter',
            'fmt': '[%(asctime)s] %(name)s %(levelname)s %(message)s'
        }
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler' # removing this has no effect?
        },
        'console': {
            'class': 'logging.StreamHandler',
            'formatter': 'coloredlogs'
        },
    },
    'loggers': {
        '': {
            'level': 'INFO',
            'handlers': ['console']
        },
        'alphabuyer': {
            'level': 'DEBUG',
            'handlers': ['console'],
            'propagate': False
        },
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...