6

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

什么是一个好的附加程序?我有一个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

1 回答 1

5

将所有内容保存在一个文件中,并在删除最旧的行的同时不断添加最新的行,这样的效果会非常糟糕。我怀疑无法进行 logback 来执行此操作。

我建议您使用基于常规大小的策略,将其配置为总体保持在 10MB 限制内,然后在抓取文件时将它们连接起来。

于 2014-03-11T18:56:04.540 回答