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

我的目的是根据大小滚动和归档文件。下面是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]设置为值“100MB”

它采用默认的maxfilesize(即10MB),并在文件达到10MB后对其进行归档。

谢谢,
安贾利

最佳答案

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

10-02 20:44