Log4j RollingFileAppender会覆盖旧文件

时间:2013-12-30 03:01:35

标签: log4j rollingfileappender

我的appender定义如下:

   <appender name="M_FILE" class="org.jboss.logging.appender.RollingFileAppender">
     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
     <param name="File" value="${jboss.server.home.dir}/log/m_ser.log"/>
     <param name="Append" value="false" />
     <param name="MaxFileSize" value="5MB"/>
     <!--param name="MaxBackupIndex" value="25"/-->
     <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d{ABSOLUTE}  %-5p [%c] %m%n"/>
     </layout>      
   </appender>

<root>
      <appender-ref ref="M_FILE"/>

   </root>

有了这个,我得到m_ser.log高达5MB,然后创建了m_ser.log.1,然后它创建了m_ser.log.2并且缺少m_ser.log.1文件。过了一会儿,m_ser.log.3被创建了,并且缺少m_se.log.2。

看起来log4j正在覆盖备份文件,或者它无法保留旧文件。

这是log4j 1.2,Windows 7系统和JBoss 4.1

1 个答案:

答案 0 :(得分:0)

MaxBackupIndex参数应该定义在开始覆盖它们之前保留多少个备份文件(.1,.2,.3等)。