问题描述
我正在使用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版本 - 将其删除解决了问题.
问题描述
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.