【问题标题】:Issue with log4j log not writing to filelog4j 日志未写入文件的问题
【发布时间】:2012-12-19 14:22:13
【问题描述】:

有谁知道为什么这个日志没有写入文件。它写入标准输出两次,但不写入文件:

另外,我尝试删除“Stdout”附加程序,然后我根本没有得到任何日志记录。

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} - %m\n

log4j.appender.mainAppender=org.apache.log4j.DailyRollingFileAppender

log4j.appender.mainAppender.file=logs/core.log

log4j.appender.mainAppender.datePattern='.'yyyy-MM-dd

log4j.appender.mainAppender.append=true

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

【问题讨论】:

    标签: java jakarta-ee logging log4j


    【解决方案1】:

    您有两个使用相同附加程序 (Stdout) 的记录器,因此您会在控制台上看到两次条目。

    正如其他人所提到的,属性区分大小写,因此您的文件附加程序配置不正确。

    【讨论】:

    • 我没有关注第一部分。哪两个记录器指向同一个附加程序? RootLogger 和 logger.org.berlin? /log4j.logger.org.berlin=DEBUG,Stdout,mainAppender?
    • 是的——rootLogger 和 org.berlin 都使用 Stdout 作为附加程序。我怀疑这种重复是您看到两个控制台写入的原因。
    • 酷,我修改了,它正在工作。我还将文件路径更改为完整文件路径。
    【解决方案2】:

    FileAppend 属性区分大小写。

    log4j.appender.mainAppender.File=someFileName.log log4j.appender.mainAppender.Append=true

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • 应该吗?或者可以吗?我以前从未为 log4j 做过。这意味着我必须在我的所有代码中添加更多的日志记录行。你看到我的 log4j.properties 文件有问题吗
      • 我没有发现您的 log4j.properties 文件有问题。您的日志文件是否已创建?
      • 我认为它实际上是我使用的“文件”路径。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多