我有类似的日志条目:
1. ACMEService|73312583[INFO|16/03/2012 12:39:03]: ********** Starting the operation **********
2. OtherService|73312584[INFO|16/03/2012 12:39:03]: Exception occured...
3. ACMEService|73312583[INFO|16/03/2012 12:39:04]: **** JAXB Objects ****
4. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
5. <ns9:local>
6. <ns2:Header>
7. <ns6:id>73312583</ns6:id>
8.....
9. OtherService|73312584[INFO|16/03/2012 12:39:03]: End processing
10. ACMEService|73312583[INFO|16/03/2012 12:39:03]: ********** End of the operation **********
ACMEService是服务的名称,数字73312583标识请求。我想要显示ACMEService的请求号73312583的日志条目(第1,3-8,10行)。我不知道如何显示它们,因为还有一个多行日志条目(第3-8行)。有没有针对它的GUI工具?或者我可以使用linux命令grep来完成此操作?谁能给我举个例子?谢谢!
发布于 2012-03-18 05:46:44
agrep是一个搜索多行记录的grep
变体。我已经使用它很久了,已经记不住如何使用-d delimeter
选项了,但它应该对您有效。
另一种选择是使用sed
连接各行,并通过这些行使用grepping
。This似乎做了一些与您正在寻找的类似的事情。
发布于 2012-03-18 05:29:14
通常,我会编写一个perl脚本来解析日志文件,构建一些关联数组并打印我想要的信息。这些脚本大多是一次性的。
您在多线程环境中编写日志文件,您能确保第3行到第8行连续写入吗?如果不是这样,您需要调整日志记录以输出一个标签,该标签可以被您的解析脚本在每个日志行上识别。
https://stackoverflow.com/questions/9753659
复制相似问题