我正在使用以下命令将Python异常消息打印到日志文件中logging.error:
logging.error
import logging try: 1/0 except ZeroDivisionError as e: logging.error(e) # ERROR:root:division by zero
除了异常字符串以外,是否可以打印有关异常及其生成代码的更多详细信息?行号或堆栈跟踪之类的东西会很棒。
logger.exception 将在错误消息旁边输出堆栈跟踪。
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 Check指出:“请注意,在Python3中,您必须logging.exception在except零件内部调用该方法。如果在任意位置调用此方法,则可能会遇到奇怪的异常。文档对此有所提示。”
logging.exception
except