log4j日志没有写入文件的问题

时间:2012-12-19 14:22:14

标签: java java-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.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

2 个答案:

答案 0 :(得分:3)

您有两个使用相同appender(Stdout)的记录器,因此您可以在控制台上看到两次条目。

正如其他人所提到的,属性区分大小写,因此未正确配置文件追加器的原因。

答案 1 :(得分:-4)

您应该创建一个FileHandler实例,将日志写入名为myfile.log的文件。

FileHandler fileHandler = new FileHandler("myfile.log", true);        
logger.addHandler(fileHandler);