有没有人知道为什么这个日志没有写入文件。它写入标准输出两次但不写入文件:
此外,我尝试删除“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.rootLogger = DEBUG,STDOUT mainAppender
log4j.appender.Stdout = org.apache.log4j.ConsoleAppender log4j.appender.Stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.Stdout.layout.conversionPattern =% - 5p - %-26.26c {1} - %米\ n
log4j.appender.mainAppender = org.apache.log4j.DailyRollingFileAppender
log4j.appender.mainAppender.file =记录/ core.log
log4j.appender.mainAppender.datePattern = '' YYYY-MM-DD
log4j.appender.mainAppender.append =真
log4j.appender.mainAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.mainAppender.layout.ConversionPattern = [%d {MM / DD / YYYY HH:mm:ss.SSS}] [%C {1}。%M():%L] [%t] [%p] - %m%n
log4j.logger.org.berlin = DEBUG,STDOUT mainAppender
答案 0 :(得分:3)
您有两个使用相同appender(Stdout)的记录器,因此您可以在控制台上看到两次条目。
正如其他人所提到的,属性区分大小写,因此未正确配置文件追加器的原因。
答案 1 :(得分:-4)
您应该创建一个FileHandler实例,将日志写入名为myfile.log的文件。
FileHandler fileHandler = new FileHandler("myfile.log", true);
logger.addHandler(fileHandler);