2013-10-10 22 views
6

我的系统支持团队需要一个简单日志文件,具有最大大小为10MB的较旧的日志行可以是删除当文件达到10MB时。所以推出最古老的线条。的logback:一个文件,最大文件大小

什么是这个好的appender? 我有一个的appender,但这还创建了第二个文件,然后再次开始与一个空的新文件。这不是我的支持团队想要的。

帮助表示赞赏。

<configuration> 
    <appender name="TEST" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <file>${LOG_HOME}/test.log</file> 
     <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
      <fileNamePattern>${LOG_HOME}/test.%i.log</fileNamePattern> 
      <minIndex>1</minIndex> 
      <maxIndex>1</maxIndex> 
     </rollingPolicy> 
     <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
      <maxFileSize>10MB</maxFileSize> 
     </triggeringPolicy> 
     <encoder> 
      <pattern>%date %-5level [%thread] - %mdc{loginName} - [%logger]- %msg%n</pattern> 
     </encoder> 
    </appender> 

    <root level="DEBUG"> 
    <appender-ref ref="FILE" /> 
    </root> 
</configuration> 

回答

4

保持在一个文件中的一切,不断加入最新的删除最早的行会执行真的很糟糕,而。我怀疑无法做到这一点。

我建议您使用基于常规尺寸的策略,将其配置为始终保持在10MB的限制范围内,然后在抓取文件时将它们连接在一起。