gpt4 book ai didi

java - Log4j 记录到 log4j.log 而不是指定的文件名

转载 作者:数据小太阳 更新时间:2023-10-29 02:11:33 25 4
gpt4 key购买 nike

我是 log4j 的新手,所以请保持温柔。但这是正在发生的事情,我不知道为什么:它正确地记录到一个文件,但创建的日志的文件名似乎是错误的。

这是我的 log4j 配置:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{HH:mm:ss,SSS}] [%-5p] (%t) [%c{1}] %m%n"/>
</layout>
</appender>


<appender name="file" class="org.apache.log4j.FileAppender">
<param name="File" value="log/messagecount.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{HH:mm:ss,SSS}] [%-5p] (%t) [%c{1}] - %m%n"/>
</layout>
</appender>

<root>
<level value="debug"/>
<appender-ref ref="file"/>
<!-- <appender-ref ref="rolling"/> -->
</root>

</log4j:configuration>

它在日志文件夹下创建一个 log4j.log 文件而不是 messagecount.log 文件。该值属性是否不符合我的预期?

这是我初始化记录器的方式:

类级变量:

private static Logger logger = Logger.getLogger( MessageCount.class );

初始化函数:

private void initLogger() throws IOException {

Properties props = new Properties();
props.load(getClass().getResourceAsStream("/log4j.xml"));
PropertyConfigurator.configure(props);

logger.info( "----------Logger init-----------" ) ;

// logger.debug("Sample debug message");
// logger.info("Sample info message");
// logger.warn("Sample warn message");
// logger.error("Sample error message");
// logger.fatal("Sample fatal message");

}

log4j.xml 配置文件位于我的 src 文件夹的根目录中。

谢谢

最佳答案

对我有用。

尝试将 -Dlog4j.debug=true 添加到您的 JVM 参数中,以获取有关 log4j 正在做什么以及它为什么记录到 log4j.log 的更多信息。

关于java - Log4j 记录到 log4j.log 而不是指定的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4378766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com