过程日志定位疑难问题

1.为什么要有过程日志:

配置过程日志主要对log4j的熟悉程度. 当线上的数据库不能调试的时候,一种办法是在测试库上建立到线上库的dblink, 使用insert into table select * from t1@dblink ...导入线上的数据到测试库,通过跟踪问题数据来定位程序问题. 另一种办法就是通过详细的过程日志,看看问题数据是如何产生的, 打印详细的过程日志非常非常重要

 

2.添加过程日志

加过程日志小心空指针,最好把日志加到方法的参数检验之后。

 

3.定位日志的常用命令:

grep   -#      将匹配行前后#行内容一同打印
           -C  #   等价于 -#选项
          -B   #   匹配行前#行
           -A  #    匹配行后#行

比如:

grep 'UPDATE   CPCOPERATION a SET A.STEP =-1' -A 10 debug.log | more 

如果想看最后匹配到的内容:

grep 'GET /Registration-a_action.SIGNIN'  access_log | tail -n 100

 

另一个有用的参数:-a或--text   grep原本是搜寻文字文件,若拿二进制的档案作为搜寻的目标,   则会显示如下的讯息: Binary file 二进制文件名 matches 然后结束。   若加上-a参数则可将二进制档案视为文本文件搜寻,   相当于--binary-files=text这个参数。

 
posted @ 2011-07-22 14:23  highriver  阅读(424)  评论(0编辑  收藏  举报