Я сталкиваюсь с той же проблемой, что и упомянутая в Есть ли способ определить несколько скользящих политик для одного файла журнала при обратной записи? Может кто-нибудь знать, как написать несколько скользящих политик, которые создают журнал как тест. log, test.1.log, test.2.log.gz, test.3.log.gz и т. д. ... Здесь сначала создается нормальный файл журнала, а затем - архив того же самого.
Позже этот весь журнал будет прочитан filebeat.
Также пробовал с двумя приложениями, такими как
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>test.log</file>
enter code here
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>archives/tests.%i.log</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>1</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>5MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILETEST" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>test.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>archives/tests.%i.log.gz</fileNamePattern>
<minIndex>2</minIndex>
<maxIndex>7</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>5MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<logger name="test-logger" level="DEBUG" additivity="false">
<appender-ref ref="FILE"/>
<appender-ref ref="FILETEST"/>
</logger>
Это приводит к генерации test.log, test.1.log, test.2.log.gz, который я хочу, но здесь он вызывает при этом на начальном уровне записывается как в файл test.log, так и в test.1.log, это снова приводит к потере данных в ротации.