首页 > 解决方案 > 无法使用 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>

你能告诉我哪里出错了吗?

标签: javalog4jlog4j2

解决方案


推荐阅读