django 如何知道 500 或相关服务器错误何时发生?
How does django know when a 500 or related server error occurs?
我知道 django 会向管理员列表中的用户发送邮件,但我想知道 django 本身是如何收到错误通知的。我正在搜索类似的内容:
if 500 error occurs:
send slack message
...
我与 slack 集成没问题,但我不知道如何获得 if 条件。我已阅读有关日志记录的信息,但没有找到任何相关信息。
这是我的日志记录设置:
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format': "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
'datefmt': "%d/%b/%Y %H:%M:%S"
},
},
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': os.path.join(os.path.join(BASE_DIR, 'econnect-local.log')),
},
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler'
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
'xhtml2pdf': {
'handlers': ['file'],
'level': 'DEBUG'
},
},
}
也许我遗漏了一些愚蠢的东西。感谢您的帮助。
这看起来不像是您应该在日志记录设置中执行的操作,而是使用 middleware and the process_exception() 方法。只要视图捕获到错误,就会触发此函数,并且它可以访问引发的错误,供您处理。
(在相关回答中找到 here)
我知道 django 会向管理员列表中的用户发送邮件,但我想知道 django 本身是如何收到错误通知的。我正在搜索类似的内容:
if 500 error occurs:
send slack message
...
我与 slack 集成没问题,但我不知道如何获得 if 条件。我已阅读有关日志记录的信息,但没有找到任何相关信息。
这是我的日志记录设置:
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format': "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
'datefmt': "%d/%b/%Y %H:%M:%S"
},
},
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': os.path.join(os.path.join(BASE_DIR, 'econnect-local.log')),
},
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler'
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
'xhtml2pdf': {
'handlers': ['file'],
'level': 'DEBUG'
},
},
}
也许我遗漏了一些愚蠢的东西。感谢您的帮助。
这看起来不像是您应该在日志记录设置中执行的操作,而是使用 middleware and the process_exception() 方法。只要视图捕获到错误,就会触发此函数,并且它可以访问引发的错误,供您处理。
(在相关回答中找到 here)