我想使用具有大小和时间限制的RollingFileAppender。因此,我为我的xml配置编写了以下appender。
<appender name="MyLogger" class="org.jboss.logging.appender.RollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.log.dir}/mylog_01.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="100KB"/>
<param name="MaxBackupIndex" value="10"/>
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="mylog_01_%d{yyyy-MM-dd_HH-mm}.log" />
</rollingPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %5p %t (%F[%M]\:%L) - %m%n"/>
</layout>
</appender>
虽然我将我的appender与最近的许多例子进行了比较,但我找不到我的错误。我的apperder生成名为“mylog_01.log”的第一个日志数据。我希望分别有以下日志数据,例如
mylog_01_2013-09-09_12-33.log
mylog_01_2013-09-09_12-34.log
mylog_01_2013-09-09_12-35.log
mylog_01_2013-09-09_12-36.log ...
但是appender会使用默认模式生成它们,例如ylog_01.log.1
,mylog_01.log.2
,mylog_01.log.3
......
你能帮我解决一下这个问题吗?
答案 0 :(得分:1)
你混淆了RollingFileAppender
。 org.jboss.logging.appender.RollingFileAppender
扩展了Log4J内置org.apache.log4j.RollingFileAppender
,但<rollingPolicy>
配置元素是org.apache.log4j.rolling.RollingFileAppender
的一项功能,是来自log4j-extras的无关类。
标准Log4J RollingFileAppender仅对备份文件进行顺序编号,而不是基于时间的命名。