gpt4 book ai didi

python - 使用大量尝试...除了在 Django 中记录每个错误

转载 作者:太空宇宙 更新时间:2023-11-04 01:20:14 25 4
gpt4 key购买 nike

我想检查代码的每一行或过程,如果不成功,则记录错误。像这样:

try:
handle = open('file.txt', 'r+')
txt = handle.read()
except:
logger.info("SOME DESCRIPTION OF ERROR")

它有效,但似乎这个解决方案不是最好的方法。或者这是使用大量 try...except 语句的好方法吗?有替代方案吗?

最佳答案

首先。正如@Bakuriu 所说,您必须避免使用裸露的 except

第二关。 Django(从 1.4 开始)带有为您配置的日志记录。

看看https://docs.djangoproject.com/en/dev/topics/logging/ .在生产环境中(即:DEBUG = False),它会捕获每个异常并通过电子邮件发送给您。如果您在 settings.py 中正确设置了 ADMIN 键。

例如,这个记录器:

LOGGING = {
'version': 1,
'formatters':{ 'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
},
'handlers': {
'error_file': {
'level': 'ERROR',
'class': 'logging.FileHandler',
'filename': 'errors.log',
'formatter': 'verbose'
},
},
'loggers': {
'django.request': {
'handlers': ['error_file'],
'level': 'INFO',
'propagate': False,
},
}
}

将记录所有级别为 ERROR 和更高级别的内容到项目根目录下的 error.log 文件。这包括异常回溯和完整堆栈信息。

关于python - 使用大量尝试...除了在 Django 中记录每个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21728181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com