2017-07-19 81 views
0

我知道django向管理员列表中的用户发送邮件,但我想知道django本身如何得到错误通知。我正在寻找像这样的东西:django如何知道500或相关服务器错误何时发生?

if 500 error occurs: 
    send slack message 
    ... 

我没有问题整合松弛,但我不知道如何得到,如果条件。我已阅读有关日志,但没有发现任何相关的。

这里是我的日志记录设置:

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' 
     }, 
    }, 
} 

也许我失去了一些愚蠢的事。谢谢你的帮助。

回答

2

这看起来不像你应该在日志记录设置中做的事情,而是使用middlewareprocess_exception()方法。只要视图发生错误,该函数就会触发,并且它将访问所引发的错误,以供您根据需要进行处理。

(发现在相关的答案here

+0

它确实有道理。谢谢 –

+0

真棒,当然!如果它能很好地为您服务,您能否将其标记为正确的答案? – Cameron

+0

将很乐意这样做。 –

相关问题