java - 无法使用 log4j for Selenium 将日志写入我的日志文件
问题描述
我无法使用 log4j 中的 Logger 写入日志文件。我将 log4j2.xml 文件初始化为自定义路径,如下所示:
@BeforeClass
public void initLogger()
{
String path=System.getProperty("user.dir")+"\\src\\main\\java\\resources\\log4j2.xml";
System.setProperty("log4j.configurationFile", path);
}
我认为这log4j2.xml
是正确的,因为系统日志已正确写入日志文件。但是我无法将自定义日志写入日志文件。测试类和方法如下
public class ValidateHeading extends BaseClass {
public static Logger log=LogManager.getLogger(ValidateHeading.class.getName());
@BeforeClass
public void initLogger()
{
String path=System.getProperty("user.dir")+"\\src\\main\\java\\resources\\log4j2.xml";
System.setProperty("log4j.configurationFile", path);
}
@Test
public void validateHeading() {
log.info("Something");
}
}
log4j2.xml文件如下
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Properties>
<Property name="filename">./logs</Property>
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout
pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<RollingFile name="Files" fileName="${filename}/prints.log" filePattern="${filename}/print-%d{dd-MM-yyyy hh.mm}.log">
<PatternLayout
pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
<SizeBasedTriggeringPolicy size="500"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="Files" />
</Root>
</Loggers>
</Configuration>
你能告诉我哪里出错了吗?
解决方案
推荐阅读
- javascript - 轻量级图表:带图像的时间尺度
- javascript - 以前日期的数组对象的总和
- r - 打印同一张表中关系和相关性的显着性
- html - 即使我将宽度设置为 100%,Flex 框也不会跨越页面的整个宽度
- java - 对于 Java 二级类,可以指定哪些访问修饰符?
- minizinc - 一个 minizinc 函数,用于检查 n*n 矩阵中每个元素的邻居
- python - pygame(乒乓游戏)中屏幕边缘的弹跳球
- matlab - 在 gpx 文件上执行 Dijkstra
- graphql - 为什么在 graphiql 服务器中运行查询时没有返回任何内容并且正在执行无限循环?
- c++ - C++查找算法的极值点