web测试环(UNIX)Log日志整理
上一篇 / 下一篇 2008-11-02 21:37:36 / 个人分类:Linux/unix
LOG日志的介绍
1、 在看log之前,首先需要了解每个log文件要记录什么信息:比如,performance.log是一个查看性能的log日志,而search-velocity.log则是一个查看页面信息的日志;由于每个project的log文件都有其特定性,所以在看log之前需要先清楚每个log文件代表什么信息;
\:ag.Z$a2x02、 Log信息问几种级别:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL;但是平时一般只用四种:DEBUG、INFO、WARN、ERROR;前三个级别的信息一般是在程序员用来调试的信息,而第四种(error)级别是日志信息里级别最高的,ERROR级别信息的产生分两种;一种是程序出错,一种只是程序员用来调试输出;一般在日志文件中,ERROR级别的信息是需要特别关注的;而在性能监控的日志文件里,则不需要特别去关注ERROR级别的信息,而是去关注操作带来的时间瓶颈;51Testing软件测试网"do:_k2t_1E i5t
3、 下面以一个应用工程为例讲讲;
WM^1J5`\;i{D04、 如某个应用常用的日志文件分为两块:系统级(sys)和用户级(user),这一步是分成两个目录保存,/sys和/user;我们主要关注系统级的日志信息,用户级的日志信息只是关注用户在系统中的行为,一般不需要去关注;而sys级的常用日志一般也分为两块:功能性的日志和关注性能方面的日志:
C];X/uC2XwK _.b0功能性的日志一般为:51Testing软件测试网!nU }waGTH
i. dal.log: 用来记录数据层程序执行sql的信息,可以看到sql语句以及执行的情况,该日志不会产生error级别的信息;
(lE%l[ bj i!n!W:M+E0ii. velocity.log: 用来记录页面的信息;51Testing软件测试网z.|v5v7xL
iii. webx.log: 该日志记录系统运行期间发生的信息,该日志记录的都是java类运行发生的信息,当程序出错后,首要查看的是该日志;51Testing软件测试网WfR!O'BI]+YP&C
性能方面的日志:51Testing软件测试网 A.M9|*hQ#vW4E M6C7C
iv. performance.log:记录ao、dao类运行时间,由什么请求发起,属于性能监控;51Testing软件测试网0B+}C3f8K u-ZLc
v. webx-filter.log: 用来记录每个ie请求的信息,以及该请求从开始到结束所经过的各个请求以及每个请求所开销的时间,属于性能监控;
"N.uD;BFg,S0vi. hacking.log: 是记录用户修改登陆信息的日志;51Testing软件测试网\ i9g(EX\*XsH*I~P
功能性的日志一般需要关注的是ERROR级别的日志信息,除dal.log外,因为dal.log是没有信息级别表识的,它只是打印sql执行的语句;但如果在webx.log和velocity.log日志中发现ERROR级别的信息,那肯定就是程序出错,需要返馈给程序员,由程序员去修改程序;下面对以上的日志举例进行讲解。51Testing软件测试网r-Ka~,i.Y~ Vuo+P
4、一般每条日志信息包含了几大要素:51Testing软件测试网,O"~8pf(B^m
a) 发生的时间;
m*C |0J&w gEb|h?i0b) 信息级别;51Testing软件测试网Sq!R8dm G4roy
c) 执行什么操作,如果出错,则有出错的异常类型;51Testing软件测试网3tTrB9Obf^
d) 调试的输出信息,如出错,则有出错的提示;51Testing软件测试网5pd)d B+]"b9Z3g
e) 如出错,相关出错的地方,在做什么动作的时候发生,具体出错在哪一行;
K\ghw(jx-v0操作步骤:
9y+W ]xew~0确定要查看什么功能,打开相应的日志文件,先查看是否有ERROR级别的信息;51Testing软件测试网Lm9yE g{
然后确认该error信息的时间是否是要查询的操作时间,看是否是在该操作时间段内发生的;51Testing软件测试网GI5yah3UKP
以上两点都符合的话,则进行下一步,举例分析ERROR发生的原因;
:n@!qT*cru O4t\D05、举例说明:
g'z J`-ub4x`2h0功能性的日志:51Testing软件测试网T6u1W(r#VhQ
velocity.log:该日志是用来记录页面信息的;当页面运行时,页面的信息会被记录在该日志中,页面出错首先看这份文件,然后再看webx.log确定是页面出错还是环境或配置或程序出错;
G}dzjZ)^0如:2007-08-06 15:02:20,335 ERROR VelocityService.aso - ResourceManager : unable to find resource 'macros.vm' in any resource loader.
h/K2M5~ RP%Y0分析:51Testing软件测试网"n)H!ai U:qJ \"p#}
发生的时间,2007-08-06 15:02:20;
Gj#acM)x+g0信息级别,ERROR,表明是出错信息;51Testing软件测试网W.P:lj*L8Z
出错的提示:unable to find resource 'macros.vm' in any resource loader;
|{]9g-S6og0根据出错提示可得出系统找不到macros.vm,该摸板没有被载入,据此就可以把这信息反馈给功能负责者或程序员,让他去改正这一bug;51Testing软件测试网f0A:Lef9|
但是页面的出错有时候并不能完全确定是页面或摸板出的错,也有可能是业务层或数据层出的错,比如页面出现505错误,这个时候就需要看Webx.log;51Testing软件测试网7ML+h LZ3n ohKK s
Webx.log:一般环境、程序、配置出错,都看这份文件;
!O(m$XRu X4|f02007-08-06 15:03:59,567 [] ERROR service.ServiceManager - Service BeanFactoryService failed to initialize51Testing软件测试网/[f`p IJ H`
com.alibaba.service.ServiceInitializationException: Failed to initialize BeanFactory51Testing软件测试网,F9h"]d1JW*kT
at com.alibaba.service.spring.DefaultBeanFactoryService.init(DefaultBeanFactoryService.java:84)
F#A/~j'P!M t1E1_"h0at com.alibaba.service.GenericService.init(GenericService.java:26)51Testing软件测试网4HQ v hC"yAS
at com.alibaba.service.DefaultServiceManager.initService(DefaultServiceManager.java:458)51Testing软件测试网#Ue8?+Mh{Q
at com.alibaba.service.DefaultServiceManager.getService(DefaultServiceManager.java:829)
xj"X@+ewaSp'a u0at com.alibaba.service.DefaultServiceManager.getService(DefaultServiceManager.java:801)
5u5p Or!?0at com.alibaba.service.DefaultServiceManager.initAll(DefaultServiceManager.java:186)
L#L ZnEM^-m V|0at com.alibaba.service.context.SingletonServiceManagerLoader.getInstance(SingletonServiceManagerLoader.java:72)