【发布时间】:2013-07-07 17:17:20
【问题描述】:
一个日志文件包含许多 Python 回溯。我只关心因为KevinCustomError 而引发的回溯。文件中可能存在不止一个此类错误。
如何使用grep、另一个流行的 unix 命令或其组合来为我的特定错误转储整个回溯?
这是一个示例日志文件。我想要这个文件的第 1-3 行。在真正的日志文件中,回溯要长得多。
Traceback (most recent call last):
File "<stdin>", line 1, in ?
KevinCustomError: integer division or modulo by zero
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ZeroDivisionError: integer division or modulo by zero
【问题讨论】:
-
我会推荐
awk。它在处理此类事情时效果更好,因为您可以在处理数据时跨多行存储状态(使用变量)。 -
我认为实际的回溯不只是 3 行长,对吧?例如,它们是可变长度的。
-
voithos,没错
-
这些标准输出是输出异常还是您使用 python 日志记录?
-
我们正在调用 logging.exception