当 Django 应用程序中发生任何异常时写入日志文件的最佳方法是什么,而无需对视图中的每个函数进行硬编码,即中间件?例如,当在视图中出现 DatabaseError、ValueError、Integrity 错误时。我需要一些可以在生产和开发中使用 DRY 概念的东西。import logginglogger = logging.getLogger(__name__)def my_view(request, arg1, arg): ... if bad_mojo: # Log an error message logger.error('Something went wrong!')
1 回答
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
您可以使用日志。
这是一个触发WARNING和更重要级别的示例配置。
(取自 Django 3.0 文档)
这进入你的settings.py
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'WARNING',
'class': 'logging.FileHandler',
'filename': '/path/to/django/debug.log',
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'WARNING',
'propagate': True,
},
},
}
由于级别设置为WARNING,三种类型的级别将触发记录器,即WARNING,ERROR和CRITICAL。
此外,我们已经使用django(作为记录器)来利用 Django 的万能记录器。它将允许我们创建一个更具可读性的日志,因为错误将在日志文件中被正确分类(如模板、数据库等)。您可以在此处阅读有关它们的更多信息。
添加回答
举报
0/150
提交
取消