快速业务通道

多线程、多平台环境中的跟踪-使用log4j和UNIX命令来挖掘跟踪数据 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
它本身并不是很有趣,但是 您可以结合其他命令来使用它,从而的到有趣的结果:

cut -d ''['' -f3 example.log | cut -d '']'' -f1 | uniq | awk  ''{system("grep -e " $1 " *.log > log"$1 ".txt")}''

这个难懂的行基本上是在说:“从我的客户机日志文件中取出所有的唯一 ID ,然后将每个 ID 与关联的日志存储在一个 log<id>.txt格式的文件中。 ” 这样将给您带来 50 个文件,每个文件仅包含一个线程的跟踪数据。因此上 面的第 24 个线程的输出例子将存储在一个名为 log-1242473967.txt的文件中 ,文件名中的数字就是唯一的 ID。

多线程、多平台环境中的跟踪-使用log4j和UNIX命令来挖掘跟踪数据(10)

时间:2011-09-07 ibm

其他日志选项

有必要阅读一下 log4j 文档以检查它提供的各种可能性。其中一个日志记录 选项就是 Log Factor 5 控制台。这是一个显示源代码的一个层次结构树(基于 包名称)的 GUI;与选定的树组件相关联的日志显示在主窗口中。

您还可以选择通过网络进行日志记录。通过将一个日志记录服务器设置在选 定的端口上,您可以让多台机器向该连接写出日志,而不是(或另外还要)写出 到一个本地日志文件。这对于在一个地方集中收集所有跟踪数据可能是有用的。 我的首选方式是为每台机器保留单独的文件;您能够容易地查询它们或将它们组 合起来。然而,通过研究 log4j 提供的所有功能,您也许会找到更适合需要的 许多选项。

这是非常酷的,不过要记住:只有当您准备了恰当的信息时,那些命令才会 给您提供这样强大的能力。如果没有时间戳,您就不能有效地排序;如果没有线 程 ID 和唯一编号,您就不能如此整洁地分类信息。您给自己提供的唯一最强大 的帮助是沿着执行路径传递的 ID。您也许不喜欢添加用于日志记录的参数,但 是这样会给您带来大量强有力的选项。

如果您认为这些命令行看起来很复杂,我应该在写下它们之前很快指出我从 不尝试使用它们:我只是知道这些命令存在,并且能够迅速应用那些用于创建它 们的原理,这本身是非常有用的。我要向所有命令行高手道歉,他们能够容易地 确定一种异常整洁的方式来达到相同的结果。

您当然可以选择仅记录某些级别的输出,但是我的选择是记录所有内容,并 使用过滤技术在任何给定的时间提取我需要的信息。因而对于一次给定的运行, 如果您打算改变想要记录的详细级别,那么您只需改变过滤器。只需使用 grep 来提取具有 INFO或 FATAL或其他任何内容的行。

创建系统快照

那么,您希望对日志信息做其他哪些事情呢? 您可以在 log4j 提供的控制 台上实时查看它;您可以组合多个文件,以及将单独的线程输出分离到单独的文 件中。但是如何查看多平台环境中同一时刻发生的所有事情呢?好了,时间戳是 一个美妙的东西。只需使用一个简单的命令,您就可以看到指定时刻产生的所有 输出:

cat *.log | grep 18:18:50 | sort

这个命令的输出类似清单 8。

清单 8. 指定时刻的跟踪数据

2004-01-25 18:18:50,445 INFO [Thread-45] (SampleCode.java:92) - [-1242473967] Program Running 2004-01-25 18:18:50,446 INFO [Thread-45] (SampleCode.java:98) - [-1242473967] Obtaining Initial context 2004-01-25 18:18:50,521 INFO [Thread-45] (SampleCode.java:103) - [-1242473967] Narrowing home interface for log1Bean 2004-01-25 18:18:50,522 INFO [Thread-45] (SampleCode.java:109) - [-1242473967] Calling Create on log1Home 2004-01-25 18:18:50,528 INFO [ORB.thread.pool : 0] (log1Bean.java:65) - [-1242473967] Started doTest method in log1Bean 2004-01-25 18:18:50,529 DEBUG [ORB.thread

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号