我有几个例外引发到日志文件。 Iam使用以下正则表达式从日志中派生所有异常和错误。
现在,我想收集每个异常堆栈跟踪消息,之后说10行,10行后几行。我可以通过添加-A 10 -B 10来实现,但“我希望每个这样的例外日志记录(10行之前,异常跟踪,10行之后)通过”\ n“它们之间的分隔符,以便我可以分别收集每个这些块并在UI中显示。任何帮助?
grep“ERROR \ | FATAL \ | Exception \ | at。.java \ :.”my.log。
在此先感谢! Santhosh
Mark,我正在使用模式(^ [\ tException])来检索堆栈跟踪,但我想要的是在堆栈跟踪之前检索10行,堆栈跟踪,堆栈跟踪之后的10行作为单个记录,然后显示每个这些记录(这我会照顾),目前它打印堆栈跟踪================== awk'{r [FNR] = $ 0}/^ [ (j = 1; j <= i; j ++){for(k = w [j] -10; k <= w [j] +10 ; k ++)if(k> 0 && k <= FNR)print r [k]; printf“\ n”}}'my.log – Santhosh
我无法从中很容易地判断发生了什么。请尝试使用一个非常小的'awk'命令,如下所示,这样我们就可以得到一些可行的东西,然后构建它,直到它做到你想要的东西...'awk'/ Exception/{print}'my.log ' –
Thx我用你的例子让它工作 – Santhosh