NiFi, работающий на Windows server 2016, не работает должным образом с приложением для файла журнала.
Ниже приведен код, который я написал для проката файлов, и в результате он получился.
<appender name="APP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${user.dir}/logs/nifi-app.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${user.dir}/logs/nifi-app.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>1MB</maxFileSize>
<maxHistory>3</maxHistory>
<totalSizeCap>10MB</totalSizeCap>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
результат: файл не работает, только увеличивается размер файла.
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${user.dir}/logs/test.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${user.dir}/logs/test-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxFileSize>1MB</maxFileSize>
<maxHistory>30</maxHistory>
<totalSizeCap>10MB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
</appender>
результат: рулон файла не работает, только увеличивая размер файла.
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${user.dir}/logs/file.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${user.dir}/logs/file_%i.log.gz</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>1MB</maxFileSize>
</triggeringPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
</appender>
результат: при следующем броске предыдущие 10 файлов стираются и одновременно создаются 10 файлов с одинаковым содержимым.
<appender name="Fixed-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${user.dir}/logs/fixed-file.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${user.dir}/logs/fixed-file.%i.log.gz</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>1MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
</appender>
результат: при следующем броске предыдущие 10 файлов стираются и одновременно создаются 10 файлов с одинаковым содержимым.
Как мне правильно настроить работу?