我正在使用 logging.error
将 Python 异常消息打印到日志文件:
import logging
try:
1/0
except ZeroDivisionError as e:
logging.error(e) # ERROR:root:division by zero
是否可以打印有关异常和生成它的代码的更多详细信息,而不仅仅是异常字符串?行号或堆栈跟踪之类的东西会很棒。
最佳答案
logger.exception
将在错误消息旁边输出堆栈跟踪。
例如:
import logging
try:
1/0
except ZeroDivisionError:
logging.exception("message")
输出:
ERROR:root:message
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
ZeroDivisionError: integer division or modulo by zero
@Paulo Cheque注意,“请注意,在 Python 3 中,您必须在 except
部分内调用 logging.exception
方法。如果您在任意位置调用此方法,您可能会得到一个奇怪的异常。文档对此发出警告。”
关于python - 如何使用调试信息记录 Python 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5191830/