`

指定类的日志输出到指定的日志文件上

 
阅读更多

log4j我想大对这个应该很家伙很了解了,我这里就不多说了,如果大家不知道这个兄弟是干嘛的那你就得去问一下谷哥了,不过度娘应该也能满足你的需求了大笑

费话讲完了,现在开始正题。前来说一下我的需求,最近要对项目当中的一些逻辑功能进行压力测试,要记录这些功能的访问时间与最后处理时间。那么我们想到log4j这货,问题来了,在之前我们都配置了log4j来记录系统的一些日志。换句话说就是我们已经有一个输出的日志到指定的文件日志上了。那现在要怎么配置第二个输出的日志到指定的文件日志上呢?

分析1.测试是在不同的类文件上,就好比说我要测试登录类和套餐类与通话详单类。那么这几个类我怎么告诉log4j,他们几个你要给我盯到起。

分析2.log4j在照顾上面三个类时,当他们做什么动作时log4j记录日志。

好吧,现在来看一下我项目当中的log4j配置,如下代码:

 

log4j.rootLogger=ERROR, stdout ,logfile

log4j.logger.org.apache=WARN
log4j.logger.com.opensymphony=WARN
log4j.logger.net.sf=ERROR
log4j.logger.net.sf.hibernate=ERROR  
log4j.logger.net.sf.hibernate.SQL=ERROR 
log4j.logger.org.hibernate=ERROR
log4j.logger.org.springframework=ERROR
#log4j.logger.org.springframework.beans=ERROR
log4j.logger.org.apache.catalina=ERROR
log4j.logger.org.apache.commons=ERROR
log4j.logger.org.apache.struts2=ERROR
log4j.logger.org.apache.velocity=ERROR
log4j.logger.freemarker=WARN

log4j.logger.com.mchange.v2=DEBUG
log4j.logger.org.apache.jasper.compiler.JspRuntimeContext=ERROR

#PressureTestForTestClass
#登录类
log4j.logger.com.born.wom.action.LoginByPhoneAction=ERROR,pressure
#通话详单类
log4j.logger.com.born.wom.action.WomDetailByPhoneAction=ERROR,pressure
#套餐类
log4j.logger.com.born.wom.action.WomTPhoneMealAction=ERROR,pressure

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%C:%L) - %m%n

log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${catalina.base}/logs/rcms-app.log
log4j.appender.logfile.MaxFileSize=128KB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=3
# Pattern to output: date priority [category] - message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=[%p] [%t] {%c} - <%m> %n 
log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=ERROR
log4j.logger.org.hibernate.type=ERROR
log4j.logger.org.hibernate.sql=ERROR

#Pressure Test
log4j.appender.pressure.layout=org.apache.log4j.PatternLayout
log4j.appender.pressure=org.apache.log4j.RollingFileAppender
log4j.appender.pressure.File=${catalina.base}/pressure/pressure.log
log4j.appender.pressure.MaxFileSize=512KB
log4j.appender.pressure.layout.ConversionPattern=[WOM]%d{yyyy MM dd HH\:mm\:ss}-%p %t %c - %m%n
log4j.appender.pressure.MaxBackupIndex=100

 上面代码当中有什么不明白的,只能自己下来看一下资料了,如下:http://www.blogjava.net/kit-soft/archive/2009/08/28/292977.html

酷切记不能生搬硬套,不明白的大家也可以相互讨论一下。

 

 

回到正题,上面代码当中我们中关心两个地方,如下代码:

 

#Class
#下面的这三句就是告诉log4j要照顾的类,当他发出ERROR动作时记录日志,这里的pressure英文
#的意思是压力的意思,但这里你可以理解为一个别名,就是为了下面让log4j知道是记录那个的日志以
#什么形式去记录。
log4j.logger.com.born.wom.action.LoginByPhoneAction=ERROR,pressure
#通话详单类
log4j.logger.com.born.wom.action.WomDetailByPhoneAction=ERROR,pressure
#套餐类
log4j.logger.com.born.wom.action.WomTPhoneMealAction=ERROR,pressure


#下面的代码就是告诉log4j以什么形式输出,输出到哪里,
#输出文件的大小,超大指定大小后处理方式
#输出日志的格式,最大记录文件数
log4j.appender.pressure.layout=org.apache.log4j.PatternLayout
log4j.appender.pressure=org.apache.log4j.RollingFileAppender
log4j.appender.pressure.File=${catalina.base}/pressure/pressure.log
log4j.appender.pressure.MaxFileSize=512KB
log4j.appender.pressure.layout.ConversionPattern=[WOM]%d{yyyy MM dd HH\:mm\:ss}-%p %t %c - %m%n
log4j.appender.pressure.MaxBackupIndex=100

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics