- log4j配置如下:
-
- log4j.rootLogger=ERROR
- log4j.logger.com.testframework.web=ERROR,A3
- log4j.logger.com.testframework.util= ERROR,A1,A2
- log4j.appender.A1=org.apache.log4j.ConsoleAppender
- log4j.appender.A1.layout=org.apache.log4j.PatternLayout
- log4j.appender.A1.layout.ConversionPattern=%m%n
- log4j.appender.A2=org.apache.log4j.RollingFileAppender
- log4j.appender.A2.File=c:/508log.html
- log4j.appender.A2.MaxFileSize=50000KB
- log4j.appender.A2.MaxBackupIndex=1
- log4j.appender.A2.layout=org.apache.log4j.HTMLLayout
- log4j.appender.A3=org.apache.log4j.RollingFileAppender
- log4j.appender.A3.File=junitLog/WebTestLog.log
- log4j.appender.A3.MaxFileSize=50000KB
- log4j.appender.A3.MaxBackupIndex=1
- log4j.appender.A3.layout=org.apache.log4j.PatternLayout
- log4j.appender.A3.layout.ConversionPattern=%d{yyyy-MM-ddHH:mm:ss}%5p[%t](%F:%L)-%m%n
-
-
- 以上配置定义存在3个logger(logger名称):rootLogger,com.testframework.web,com.testframework.util
-
package com. testframework.web Public class PersonTest{ //加载logger的语句- 加粗部分为log4j配置文件中配置的logger的名字 static Logger logger = Logger.getLogger(PersonTest .class); public void testGetPersonNameById(int personId){ ........ String personName = ""; try { personName= dataPool. getPersonNameById (int personId); } catch (Exception e){ String errorMsg = " Get Person Name Failed!"; //利用logger输出信息到日志中 logger.error(errorMsg,e); fail(errorMsg); } ........ } }
Note:由于Log4j中Logger具有java的继承特性,所以在这个实例中,为了实现‘com. testframework.web’包下的所有类都可以使用Appender A3将Error级别以上的信息输出到工程dist目录下的junitLog/WebTestLog.log日志文件中。所以在properties文件中用包名定义了一个logger
log4j.logger.com.testframework.web=ERROR,A3
且在java代码中用该包中的类名来加载logger
staticLogger logger = Logger.getLogger(PersonTest.class);
PersonTest.class=com.testframework.web.PersonTest
此时,在java代码中所加载的这个logger的名字是com.testframework.web.PersonTest, 根据继承原理,由于在log4j配置文件中没有定义这个logger的level和appender,所以这个logger将自动继承其父logger‘com.testframework.web’的level和appender设置。
所有logger都继承rootlogger
可以通过设置:log4j.additivity.qstk_recordbf.Log=false取消logger(recordbf.Log)的继承关系,即logger(recordbf.Log)不再继承rootlogger