Log4j无法读取配置文件SELENIUM JAVA

时间:2016-06-02 02:55:19

标签: java selenium logging

如何让log4j读取属性文件。

我正在编写一个Java用于测试我想使用log4j的selenium。因为我遇到错误的Log4j无法读取配置文件[ERROR]忽略配置文件。请指教,谢谢你。在我的主要方法中,如果有这个:

 static Logger log = Logger.getLogger(Testing.class);

Log4j.properties:

log4j.rootCategory=DEBUG, R  

# File   
log4j.appender.R=org.apache.log4j.RollingFileAppender   
log4j.appender.R.File=D:/log4j.log   

# Control the maximum log file size   
log4j.appender.R.MaxFileSize=100KB   

# Archive log files (one backup file here)   
log4j.appender.R.MaxBackupIndex=1 

log4j.appender.R.layout=org.apache.log4j.PatternLayout   

log4j.appender.R.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n

我的测试用例:

@Test  //Tested Login 
      public void TestLogin_Success() throws Exception {
          try{ 
              //PropertyConfigurator.configure("log4j.properties");
              driver = new FirefoxDriver();
              LoginBuilder.Execute(driver);  
              log.info("TEST A TEST");
              driver.quit();
          }catch (Exception e){

              //Log.error(e.getMessage());
              throw (e);
          }

      }

2 个答案:

答案 0 :(得分:1)

您的log4j.properties应该在类路径中。您也可以通过系统属性

进行设置
  

log4j.configuration

。以下是蚂蚁目标

的示例
<sysproperty key="log4j.configuration" value="file:///${lib.dir}/log4j.properties" />

答案 1 :(得分:1)

您可以将log4j.properties文件放在与您的类文件的 java 文件夹对应的 resources 文件夹下。

另外,要使用配置程序对其进行配置,您可以使用以下代码:

import org.apache.log4j.PropertyConfigurator;
....your base class
....inside the main/setup method
PropertyConfigurator.configure(Testing.class.getClassLoader().getResource("log4j.properties"));

要确保记录器是否正常工作,您可以尝试将相同的详细信息记录到控制台窗口并查看差异。只需添加这些更改并观察:

log4j.rootCategory=DEBUG, console, R

log4j.appender.console =org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p -> %m %n 

或者在您的情况下ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n