。
我的追加器定义如下:
<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
MaxBackupIndex
参数应定义在开始覆盖备份文件(.1、.2、.3 等)之前保留多少个备份文件。