当出现未捕获的异常时,我使用以下代码写入.log
文件:
import sys
import traceback
def uncaught_exc_handler(ex_cls, ex, tb):
with open('mylog.log', 'w') as f:
traceback.print_last(file=f)
sys.excepthook = uncaught_exc_handler
1/0
输出示例:
Traceback (most recent call last):
File "C:\Users\Abc\Desktop\test.py", line 11, in <module>
1/0
ZeroDivisionError: integer division or modulo by zero
如何自定义日志记录并使用它:
ERROR 11 (test): ZeroDivisionError: integer division or modulo by zero
什么?你知道吗
(注意:11
是发生错误的行号,test
是当前文件)
PS:我考虑过解析这4行,在第二行中搜索“line”,提取附近的int
,等等。但这是一个相当肮脏的方法,我想这不会很有效
我相信这正是你需要的:
从而生成一个包含以下行的文件(
mylog.log
):相关问题 更多 >
编程相关推荐