如何让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);
}
}
答案 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