无法在log4j中将MaxFileSize设置为值“100MB”

时间:2014-06-11 07:48:02

标签: java log4j

我正在使用log4j1.2.17和apache-extras-log4j - 1.2.17.jar进行记录。

我的目的是根据size滚动和归档文件.Below是log4j.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

  <appender name="R" class="org.apache.log4j.rolling.RollingFileAppender">
    <param name="File" value="logger.log"/> 
    <param name="append" value="true"/>
    <param name="encoding" value="UTF-8"/>      
    <rollingPolicy class="org.apache.log4j.rolling.FixedWindowRollingPolicy">
        <param name="FileNamePattern" value="logger.log%i.gz" />            
    </rollingPolicy>
    <triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy">
        <param name="MaxFileSize" value="${LOG_FILESIZE_LIMIT}"/>
    </triggeringPolicy>
    <layout class="org.apache.log4j.TTCCLayout">
      <param name="ContextPrinting" value="true"/>
      <param name="ThreadPrinting" value="true"/>
      <param name="DateFormat" value="MM/dd/yyyy HH:mm:ss"/>
    </layout>
   </appender>

  <root>
    <priority value ="DEBUG"/>
    <appender-ref ref="R"/>

  </root>

</log4j:configuration>

$ {LOG_FILESIZE_LIMIT}是100MB。

但它没有将MaxFileSize设置为100MB并给出以下信息。

log4j:WARN无法将属性[maxFileSize]设置为值&#34; 100MB&#34;

默认maxfilesize为10MB,一旦达到10MB就归档文件。

谢谢, 安贾尼

2 个答案:

答案 0 :(得分:5)

尝试将$ {LOG_FILESIZE_LIMIT}占位符设置为值 104857600 (相当于100MB,以字节为单位),因为MaxFileSize参数接受长值。

答案 1 :(得分:0)

检查类路径上是否没有其他版本的log4j,我遇到此问题之前,其他第三方jar集也有旧版本的log4j - 删除它修复了问题。