在log4j.xml中记录xml的配置(jboss-log4j.xml)

时间:2013-09-09 14:09:35

标签: xml logging log4j

我想使用具有大小和时间限制的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.1mylog_01.log.2mylog_01.log.3 ......

你能帮我解决一下这个问题吗?

1 个答案:

答案 0 :(得分:1)

你混淆了RollingFileAppenderorg.jboss.logging.appender.RollingFileAppender扩展了Log4J内置org.apache.log4j.RollingFileAppender,但<rollingPolicy>配置元素是org.apache.log4j.rolling.RollingFileAppender的一项功能,是来自log4j-extras的无关类。

标准Log4J RollingFileAppender仅对备份文件进行顺序编号,而不是基于时间的命名。