grep友好的堆栈跟踪记录

时间:2011-02-09 06:15:15

标签: log4j grep stack-trace error-logging

我通过Java的Log4j和Python的日志记录模块生成的日志进行了大量的操作。两者都创建包含换行符的堆栈跟踪,导致日志条目跨越多行。这使得使用grep很难找到并且违反了传统的日志文件格式化规则(每行一个条目)。

如果我在堆栈跟踪中发现一些有趣的东西,我必须打开整个日志文件(可能非常大)并浏览到找到的grep行,然后向上滚动以查找日志条目的开头。这感觉很糟糕。

有没有更好的方法来解决这个问题?也许以某种方式从堆栈跟踪中删除换行符?

感谢您的任何建议!

2 个答案:

答案 0 :(得分:-1)

 grep 'your expressing and file name' | less

这将首先显示小筹码。然后输入以了解更多信息。

你也可以做文件名的'head'或'tail'

  tail -1000 'filename'

这显示该文件的最后一行(尾部)1000行。

答案 1 :(得分:-1)

如果您有GNU grep,可以使用-C(AKA --context)开关:

  

-C NUM - 上下文 = NUM
  打印NUM行输出上下文。放置一行包含 - 之间   连续的比赛组。

我不确定-C是否属于POSIX grep,但值得一试。