无法在log4j中设置MaxFileSize为 "100MB "的值[英] unable to set MaxFileSize to value "100MB" in log4j

本文是小编为大家收集整理的关于无法在log4j中设置MaxFileSize为 "100MB "的值的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我正在使用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:警告未能将属性[maxfilesize]设置为" 100MB"

将默认的maxfilesize(即10MB)归档,然后将其归档到10MB.

.

谢谢 anjali

推荐答案

尝试设置$ {log_filesize_limit}占位符 104857600 (在字节中相当于100MB),因为maxfilesize param接受了长度值.

>

其他推荐答案

检查classPath上是否没有其他版本的log4j,我遇到了一个问题,在另一个第三方的罐子集也有较旧的log4j版本 - 将其删除解决了问题.

本文地址:https://www.itbaoku.cn/post/1575054.html

问题描述

I am using log4j1.2.17 and apache-extras-log4j--1.2.17.jar for logging.

My purpose is to roll and archive the file based on size.Below is the 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} is 100MB.

But its not setting the MaxFileSize to 100MB and gives below message.

log4j:WARN Failed to set property [maxFileSize] to value "100MB"

Its taking default maxfilesize which is 10MB and archiving the file once it reaches to 10MB.

Thanks, Anjali

推荐答案

Try setting the ${LOG_FILESIZE_LIMIT} placeholder to the value 104857600 (the equivalent of 100MB in bytes), as the MaxFileSize param accepts a long value.

其他推荐答案

Check that there are no other versions of log4j on the classpath, I had this problem before where another third party set of jars also had an older version of log4j - removing it fixed the problem.