【发布时间】:2016-01-14 11:18:20
【问题描述】:
总结
我正在尝试使用 grep 命令从日志文件中获取日志。但是,我可以匹配时间戳,但无法获得所需的完整堆栈跟踪。
日志文件示例
[1/10/16 23:55:33:018 PST] 00000057 ServerObj E SECJ0373E: Exception message
at com.own.ws.wim.util.UniqueNameHelper.formatUniqueName(UniqueNameHelper.java:102)
at com.own.ws.wim.ProfileManager.getImpl(ProfileManager.java:1569)
我的尝试
我能够获取日志条目,但我也想要堆栈跟踪。我试过了:
$ grep -i '^[[:space:]]*at' --before-context=2 SystemOut.log |
grep "1/13/16 7:[1-60]"
[1/10/16 23:55:33:018 PST] 00000057 ServerObj E SECJ0373E: Exception message
知道如何实现吗?
【问题讨论】:
-
grep不是提取文本块的正确工具。您可能会发现awk更容易完成这项任务。 -
如果我错了,有人纠正我,但 grep 不可能,因为 grep 是在每行的基础上工作的?并且堆栈跟踪具有多行签名。
标签: java unix exception grep stack-trace