timeBasedFileNamingAndTriggeringPolicy中的MaxFileSize不起作用?

时间:2017-04-11 09:25:08

标签: java logging logback apache-nifi

在NiFi-0.6.1中,我尝试将nifi-app.log的大小减小到存储在本地目录中。

在那个conf \ logback.xml中我已经将“MaxFileSize”配置为1MB。我认为这只存储nifi-app.log应该只有1 MB大小。但它不是那样的。它总是存储每一个日志。

<appender name="APP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>logs/nifi-app.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--
              For daily rollover, use 'app_%d.log'.
              For hourly rollover, use 'app_%d{yyyy-MM-dd_HH}.log'.
              To GZIP rolled files, replace '.log' with '.log.gz'.
              To ZIP rolled files, replace '.log' with '.log.zip'.
            -->
            <fileNamePattern>./logs/nifi-app_%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>1MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!-- keep 30 log files worth of history -->
            <maxHistory>1</maxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
            <immediateFlush>true</immediateFlush>
        </encoder>
    </appender>

现在我需要为nifi-app.log设置1MB。

如何设置nifi-app.log的大小?

1 个答案:

答案 0 :(得分:0)

看来这是Nifi的0.X版本中的错误,如here所讨论。

此问题已在更高版本的Nifi中修复,因此使用它们可能是解决此问题的最理想方法。