我正在研究BDD测试自动化。 最初我已经开始在StepDef中使用log4j logger,即在BaseTestClass类中使用下面的构造函数,该类由其他StepDef类扩展。
public BaseTestClass(){
logger = Logger.getLogger(this.getClass());
PropertyConfigurator.configure("Log4j.properties");
}
现在,在Page Object级别(即在不同的包和类层次结构中),我想开始使用log4j logger。 我可以重用同一个实例吗? 我怎么能做到这一点?
由于
log4j.rootLogger=INFO,CONSOLE,R,HTML,TTCC
#// Here we define the appender
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.TTCC=org.apache.log4j.RollingFileAppender
log4j.appender.HTML=org.apache.log4j.FileAppender
log4j.appender.DEBUG=org.apache.log4j.EnhancedThrowableRenderer
#// Here we define log file location
log4j.appender.R.File=./log/testlog.log
log4j.appender.TTCC.File=./log/testlog1.log
log4j.appender.HTML.File=./log/application.html
#// Here we define the layout and pattern
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= %5p [%t] (%F:%L)- %m%n
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d - %c -%p - %m%n
log4j.appender.TTCC.layout=org.apache.log4j.TTCCLayout
log4j.appender.TTCC.layout.DateFormat=ISO8601
log4j.appender.HTML.layout=org.apache.log4j.HTMLLayout
log4j.appender.HTML.layout.Title=Application log
log4j.appender.HTML.layout.LocationInfo=true
答案 0 :(得分:0)
我建议您在每个要记录的类中编写以下行。
private static Logger LOG = Logger.getLogger(<actualClass>.class);
然后您的记录器配置正确。
这里http://logging.apache.org/log4j/1.2/manual.html是一个非常好的起点。