相关疑难解决方法(0)

按大小和时间滚动日志

我使用RollingFileAppenderlog4j 1.2.16,其推出的日志文件,当他们达到一定规模.现在我想每天滚动日志文件,当它们达到一定大小时.因此,每天将有一个或多个日志文件.

例如,

myapp.log
myapp-17.12.2013.log
myapp-16.12.2012.log
myapp-16.12.2012.1.log
myapp-16.12.2012.2.log

是否有一个现成的appender,它已经做到了吗?

java log4j rollingfileappender appender

8
推荐指数
1
解决办法
1万
查看次数

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

我使用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>
Run Code Online (Sandbox Code Playgroud)

$ {LOG_FILESIZE_LIMIT}是100MB.

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

log4j:WARN无法将属性[maxFileSize]设置为值"100MB"

它采用默认的maxfilesize为10MB,一旦达到10MB就归档文件.

谢谢,Anjali

java log4j

2
推荐指数
1
解决办法
4264
查看次数

标签 统计

java ×2

log4j ×2

appender ×1

rollingfileappender ×1