Java log4j日志未写入文件时出现问题
是否有人看到此日志未写入文件的原因。它两次写入标准输出,但未写入文件: 此外,我还尝试删除“Stdout”appender,但根本没有任何日志记录Java log4j日志未写入文件时出现问题,java,jakarta-ee,logging,log4j,Java,Jakarta Ee,Logging,Log4j,是否有人看到此日志未写入文件的原因。它两次写入标准输出,但未写入文件: 此外,我还尝试删除“Stdout”appender,但根本没有任何日志记录 package org.berlin.wicket; import org.apache.log4j.Logger; private static final Logger LOG = Logger.getLogger(QuickstartPage.class); LOG.info("Loading constructor"); log4j.roo
package org.berlin.wicket;
import org.apache.log4j.Logger;
private static final Logger LOG = Logger.getLogger(QuickstartPage.class);
LOG.info("Loading constructor");
log4j.rootLogger=DEBUG、Stdout、mainapper
log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
log4j.appender.Stdout.layout=org.apache.log4j.patternalyout
log4j.appender.Stdout.layout.conversionPattern=%-5p-%-26.26c{1}-
%m\n
log4j.appender.mainpender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.mainpappender.file=logs/core.log
log4j.appender.mainpappender.datePattern='.'yyyy-MM-dd
log4j.appender.mainpappender.append=true
log4j.appender.mainpappender.layout=org.apache.log4j.patternalyout
log4j.appender.mainpappender.layout.ConversionPattern=[%d{MM/dd/yyyy
HH:mm:ss.SSS}][%C{1}.%M():%L][%t][%p]-%M%n
log4j.logger.org.berlin=DEBUG,Stdout,mainapper
您应该创建一个FileHandler实例,将日志写入名为myfile.log的文件
FileHandler fileHandler = new FileHandler("myfile.log", true);
logger.addHandler(fileHandler);
文件
和附加
属性区分大小写
log4j.appender.mainpappender.File=someFileName.log
log4j.appender.mainpappender.Append=true
您有两个使用相同appender(Stdout)的记录器,因此您可以在控制台上看到两个条目
正如其他人所提到的,属性区分大小写,因此您的文件追加器配置不正确。是否应该?或者可以?我以前从未为log4j做过这件事。这意味着我必须在我所有的代码中再添加几行日志。你看到我的log4j.properties文件有问题吗我没有看到你的log4j.properties文件有问题。您的日志文件是创建的吗?我想它实际上是我使用的“文件”路径。我没有遵循第一部分。哪两个记录器指向同一个附加器?RootLogger和logger.org.berlin?/log4j.logger.org.berlin=DEBUG、Stdout、mainpappender?是的——rootLogger和org.berlin都使用Stdout作为appender。我怀疑这就是为什么你会看到两个控制台写入的原因。很酷,我修改了,它正在工作。我还将文件路径更改为完整文件路径。