Python 在Django中引发异常时,写入日志文件的最佳方式是什么?
当Django应用程序中发生任何异常时,如果不对视图中的每个函数(即中间件)进行硬编码,写入日志文件的最佳方式是什么 例如,当视图中出现DatabaseError、ValueError、Integrity error时 我需要的东西,可以用于生产和开发与干燥的概念Python 在Django中引发异常时,写入日志文件的最佳方式是什么?,python,django,Python,Django,当Django应用程序中发生任何异常时,如果不对视图中的每个函数(即中间件)进行硬编码,写入日志文件的最佳方式是什么 例如,当视图中出现DatabaseError、ValueError、Integrity error时 我需要的东西,可以用于生产和开发与干燥的概念 import logging logger = logging.getLogger(__name__) def my_view(request, arg1, arg): ... if bad_mojo:
import logging
logger = logging.getLogger(__name__)
def my_view(request, arg1, arg):
...
if bad_mojo:
# Log an error message
logger.error('Something went wrong!')
你可以用
下面是一个在警告
和更重要级别触发的示例配置
(摘自Django 3.0文档)
这将进入您的设置.py
日志记录={
“版本”:1,
“禁用现有日志记录器”:False,
“处理程序”:{
“文件”:{
“级别”:“警告”,
'class':'logging.FileHandler',
'filename':'/path/to/django/debug.log',
},
},
“伐木工人”:{
“django”:{
“处理程序”:[“文件”],
“级别”:“警告”,
"传播":对,,
},
},
}
当级别设置为警告
,三种类型的级别将触发记录器,即警告
、错误
和严重
此外,我们还使用了
django
(作为记录器)来利用django的catch-all记录器。它将允许我们创建更可读的日志,因为错误将在日志文件中正确分类(如模板、数据库等)。您可以在上面阅读更多关于它们的信息。这是否回答了您的问题?不,建议的答案不适用于生产。而且它不是动态错误处理程序。关于这个:是的,它有帮助!一个问题:我可以通过多个记录器吗?我希望在错误
或警告
我为您的问题(以及评论中的问题)编写了详细答案时触发:D