Log4j grep友好的堆栈跟踪日志记录
我对Java的Log4j和Python的日志模块生成的日志进行了大量的grepping。两者都会创建包含换行符的堆栈跟踪,从而导致日志条目跨越多行。这使得使用grep很难找到东西,并且违反了传统的日志文件格式规则(每行一个条目) 如果我在堆栈跟踪中发现了一些有趣的内容,我必须打开整个日志文件(可能非常大),浏览到grep find行,然后向上滚动以找到日志条目的开头。这感觉糟透了 有没有更好的方法来处理这个问题?也许以某种方式从堆栈跟踪中删除换行符 谢谢你的建议Log4j grep友好的堆栈跟踪日志记录,log4j,grep,stack-trace,error-logging,Log4j,Grep,Stack Trace,Error Logging,我对Java的Log4j和Python的日志模块生成的日志进行了大量的grepping。两者都会创建包含换行符的堆栈跟踪,从而导致日志条目跨越多行。这使得使用grep很难找到东西,并且违反了传统的日志文件格式规则(每行一个条目) 如果我在堆栈跟踪中发现了一些有趣的内容,我必须打开整个日志文件(可能非常大),浏览到grep find行,然后向上滚动以找到日志条目的开头。这感觉糟透了 有没有更好的方法来处理这个问题?也许以某种方式从堆栈跟踪中删除换行符 谢谢你的建议 grep 'your expr
grep 'your expressing and file name' | less
这将首先显示小堆栈。然后进入了解更多信息
您还可以使用文件名的“head”或“tail”
tail -1000 'filename'
这将显示该文件的最后(尾部)1000行。如果您有GNU grep,您可以使用
-C
(又称--context
)开关:
-CNUM,-context=NUM打印输出上下文的行数。放置一行,其中包含-- 连续的匹配组
我不确定
-C
是否是POSIX grep的一部分,但值得一试。这不是我想要的,但我想这是最好的选择。谢谢。你能重新配置日志格式吗?我自己从来没有试过,但如果是Java,你也可以使用这个程序: