id summary reporter owner description type status component version severity resolution keywords cc stage has_patch needs_docs needs_tests needs_better_patch easy ui_ux 31424 django.utils.log.AdminEmailHandler won't include stack trace when django.server logs are propogated Wesley Ellis nobody "If I configure LOGGING such that logger has the propagate property set to True, the AdminEmail handler no longer contains a stack trace. I can reproduce with the following changes to settings.py for a brand new django app here: https://github.com/wesleyjellis/django_bug/commit/3994f74b57ecdec95c91fc322a64ce08887de2cc {{{ EMAIL_BACKEND = ""django.core.mail.backends.console.EmailBackend"" ADMINS = [('Test', 'test@example.com')] LOGGING = { ""version"": 1, ""disable_existing_loggers"": False, ""handlers"": { ""console"": { ""level"": ""INFO"", ""class"": ""logging.StreamHandler"", }, ""mail_admins"": { ""level"": ""ERROR"", ""class"": ""django.utils.log.AdminEmailHandler"", }, }, ""loggers"": { ""django"": {""handlers"": [""console"", ""mail_admins""], ""level"": ""INFO"",}, ""django.server"": { ""handlers"": [""console""], ""level"": ""INFO"", ""propagate"": True, # If this is True, AdminEmailHandler gets a record where record.request is a socket }, }, } }}} The stack trace seems to be coming from the `technical_500` templates, but those templates don't include the stack frame if there is no request: https://github.com/django/django/blob/master/django/views/templates/technical_500.txt#L3 The request is set here: https://github.com/django/django/blob/master/django/utils/log.py#L9 But for some reason I don't understand, `record.request` is a socket object when {{{propagate: True}}} I've attached the logs for both cases here: https://github.com/wesleyjellis/django_bug/commit/baa912ead8cc6f8dee1b6a69d6b5ff2cf133ef71" Bug closed Uncategorized 3.0 Normal invalid Unreviewed 0 0 0 0 0 0