Log4j 无法读取配置文件 SELENIUM JAVA



如何让 log4j 读取属性文件。

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

 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);
          }
      }
您可以将

log4j.properties文件放在与类文件的 java 文件夹对应的资源文件夹下。

此外,要使用配置器对其进行配置,您可以使用以下代码:

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

您的 log4j.properties 应位于类路径中。您也可以通过系统属性进行设置

log4j.configuration

.下面是蚂蚁目标的示例

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

最新更新