【问题标题】:How do I overwrite a log file in log4j?如何覆盖 log4j 中的日志文件?
【发布时间】:2010-11-01 05:23:59
【问题描述】:

我有一个日志文件,其中添加了以下附加程序:


logger.addAppender(new FileAppender(new PatternLayout(),"log.txt"));

问题是,每次我运行我的应用程序时,额外的日志信息都会附加到同一个日志文件中。每次都覆盖文件怎么办?

【问题讨论】:

    标签: java log4j overwrite


    【解决方案1】:

    在您的 XML 文件中添加以下行:

    <param name="Append" value="false" />
    

    请注意,由于 log4j 中的奇怪 XML 解析,&lt;param&gt; 元素必须出现在一个块中(不与其他类型的元素混合)。

    例如,这是有效的:

    <appender name="appender-log" class="org.apache.log4j.FileAppender">
    <param name="File" value="efoimporter.log" />
    <param name="Append" value="false" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%m%n" />
    </layout>
    </appender>
    

    但这不是(!)

    <appender name="appender-log" class="org.apache.log4j.FileAppender">
    <param name="File" value="efoimporter.log" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%m%n" />
    </layout>
    <param name="Append" value="false" />
    </appender>
    

    【讨论】:

      【解决方案2】:

      Matt 之前的回答是正确的,只是它使用了属性文件。如果您正在寻找一种编程方法,我建议您通过如下修改代码来禁用附加模式:

      logger.addAppender(new FileAppender(new PatternLayout(),"log.txt", **false**));
      

      【讨论】:

        【解决方案3】:

        如果您在属性文件中有这样声明的附加程序:

        log4j.appender.LOGFILE=org.apache.log4j.FileAppender
        log4j.appender.LOGFILE.File=file.log
        log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
        log4j.appender.LOGFILE.layout.ConversionPattern=%d %-5p %c - %m%n
        

        那你要加的是

        log4j.appender.LOGFILE.Append=false
        

        默认值为true

        因此,如果您以编程方式声明附加程序,那么您要做的就是调用 setAppend(false)

        【讨论】:

          【解决方案4】:

          使用 RollingFileAppender。

          【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-11-16
          • 1970-01-01
          • 2011-01-28
          • 2016-04-27
          • 2014-01-16
          • 1970-01-01
          • 2016-08-02
          • 2010-09-10
          相关资源
          最近更新 更多