将Python异常信息转换为用于日志记录的字符串

2024-10-04 11:21:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在Python2.5中记录异常,但我做不到。所有格式化函数都做一些我不想做的事情。在

我想到了这个:

def logexception(type, value, traceback):
  print traceback.format_exception(type, value, traceback)

sys.excepthook = logexception

但它在被调用时会出现参数错误,尽管根据文档,它应该可以工作。有人知道这个问题出在哪里,还是有其他的解决方案?在


Tags: 函数format参数valuedeftypesys记录
2条回答

为什么这个traceback参数应该有一个format_exception方法,就像它正在盗用其名称的回溯模块中的函数一样,如果它有一个,为什么这个方法也需要调用它的同一个对象作为最后一个参数传入?在

我怀疑您只是想给第三个参数起一个不同的名称,以避免隐藏回溯模块,比如:

import sys
import traceback

def logexception(type, value, tb):
  print traceback.format_exception(type, value, tb)

sys.excepthook = logexception

事情应该会好得多。在

相关问题 更多 >