如何让 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" />