快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
print }'' *.log | cut -d ''['' -f3 | cut -d '']'' -f1 | uniq > beforelog.txt awk ''{ if ($2 > "18:18:51") print }'' *.log | cut -d ''['' -f3 | cut -d '']'' -f1 | uniq > afterlog.txt cat beforelog.txt | awk ''{system("grep " $1 " afterlog.txt")}'' | uniq | awk ''{system("grep -e " $1 " *.log > log"$1 ".txt")}''

同样地,这里的每个文件包含前面使用第 24 个线程的例子所示的线程的历 史记录。但是现在您看到了在您感兴趣的时间期限内执行的所有那些线程(即使 那些线程碰巧没有在该期限中记录日志)的文件。

结束语

我甚至还没有谈及您可以配置 log4j 的令人吃惊的方式;有许多文章研究了 如何继承日志设置,以及调整相关设置以便不同的包类可以使用不同的日志记录 级别。但是我已介绍的内容将帮助您学会如何使用 log4j;您现在还应该具有了 很好的日志记录习惯,它们将帮助您收集特别是复杂系统的丰富信息。并且这适 用于需要进行日志记录的 任何程序。不管使用 log4j 与否,只要坚持使用相同 的信息和布局,您仍然能够使用我讲述过的 UNIX 命令来完成所有的数据挖掘。

下面总结一些关键要点:

从一开始就计划日志记录。事后添加日志记录功能要困难 得多,并且您在最 初开始调试代码时就会需要它。

挑选一种满足需要的机制,但是不要让事情变得对您更复杂。如果其他某人 编写了一个免费、开放源代码、得到维护、执行良好、特性丰富的选项……那么 请 使用它。

应该预先决定将要使用何种日志级别,并确保编程团队中的每个人都知道您 希望他们使用的约定。

如果您是在从头开始,那就添加端到端的处理 ID。通过您的程序传递这些 ID 确实是值得付出的努力。

了解 UNIX 文本处理命令的强大能力。我在本文中是从命令行使用它们的, 不过您也可以在脚本中使用它们。

您应该记录可能会遇到的尽可能多的内容,不过不要忘了保持性能。特别要 注意对远程调用进行日志记录,以及在线程分支、开始和结束的位置进行日志记 录。日志中的信息越多,您所能实现数据挖掘就越强有力。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号