我正在尝试从日志文件中获取异常。日志由log4j创建,因此它们以包含ERROR,INFO,WARNING关键字的行开头。
我想只过滤ERROR级异常,并且只有在特定类抛出异常的情况下(让我们假设它们的名字都有ExampleClass)。
如果文件中存在这样的异常,我想获取第一行(包含ERROR),下一行包含Exception以及所有后续行包含整个堆栈跟踪(包括“由......引起”行)。 在一个日志文件中,我可以获取许多请求。
我应该使用sed
或awk
,但我不知道如何:
1)找到单独的堆栈
2)检查至少有一行堆栈指向ExampleClass。
grep
这样的解决方案Tool to extract java stack traces from log files是不够的,因为它无法提供所描述的过滤。