如果文件大小大于X mb,则停止记录

时间:2015-04-08 16:06:21

标签: java logging logback

我们有重载系统。如果某些事情不起作用,系统每分钟都会生成MB日志。在几分钟内,我们已经没有问题的根源(因为日志文件受到大小限制)

如果文件大小大于X mb,是否可以停止记录? logback是否有这个appender?

2 个答案:

答案 0 :(得分:1)

这篇文章Rolling logback logs on filesize and time可能会回答您的问题:

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logFile.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- daily rollover -->
         <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy
            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <!-- or whenever the file size reaches 50MB -->
            <maxFileSize>50MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
        <!-- keep 30 days' worth of history -->
        <maxHistory>30</maxHistory>
    </rollingPolicy>

    <encoder>
  <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender> 

More infos

答案 1 :(得分:0)

完整的解决方案是使用强大的日志记录端点为您聚合数据。 Logback是无状态的,并且功能不够强大。 logstashloggly是两种此类服务,但有很多。