作为一个程序员我们经常要做一件事情:获取某个Log文件,从其中找出自己想要的信息。本文总结了我在工作中使用了哪些工具来分析Log文件获取我想要的信息,我最近几年的工作环境都是服务器在Linux上,工作机是Windows, 所以我用的工具主要是Linux上的一些命令行工具,当然他们在Windows上也可以用,具体看下面的工具篇。
先声明,我只是非常普通的Linux用户,所以如果有些Linux命令或者工具用的不高效,请大家教育我。
题外话:我的观点是作为一个Java程序员,只需要在自己工作所需要的范围内了解所使用的操作系统就可以了,成为专家固然好,但是不是必要的,譬如:我天天用Windows,但是始终不知道如何通过编辑组策略或者是注册表的方式调网络连接数的最大值,反正几乎所有的优化工具都有这个功能。
分析Log首先就是找到你所需要的Log,一般情况下我们所需要的Log是这么定位的
下面我们分别说一下上面这两步应该如何做
一般情况下我们在开始分析Log的时候会有这些信息辅助我们进行搜索
进去后让它显示一下行号:vi -R access.log
:set nu
gg或者是
1G
0G或者是
G
11G
:/Hello World
:?Hello World
n
N
:q!
grep -nR "Hello World" ./*.log | more把搜索结果打印到文件helloWorld.log中
grep -nR "Hello World" ./*.log > helloWorld.log
按照上面的步骤,找到线索了,如果干扰信息不多的话,你上下浏览可以了。那么如果干扰信息较多,我一般通过综合使用以下几种方式来获取自己所需要的不带干扰信息的日志。
sed -n 200,266p source.log > result.log
wc -l result.log复杂的我一般是使用Excel或者是金山WPS来进行文件分析。
tail -f abc.log
tail -f ./*.log
head -20 abc.log
tail -50 abc.log
Java程序员修炼之道 之 Logging(3/3) - 怎么分析Log
原文:http://blog.csdn.net/justfly/article/details/39349293