翌日の初めに、または指定したファイル サイズに達した場合にロールできるログ ファイルが必要です。しかし、ログ ファイルはリモート アペンダーからログ イベントを受け取ります。
私のlog.xmlは次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
<property name="LOG_PORT" value="6000" />
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_DIR}/logname.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_DIR}/logname-%d{yyyy-MM-dd}.%i.zip</fileNamePattern>
<maxHistory>30</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%date{MMM dd yyyy HH:mm:ss.SSS}| [%thread] [%-5level] %logger{35}- %msg%n</pattern>
</encoder>
</appender>
<receiver class="ch.qos.logback.classic.net.server.ServerSocketReceiver">
<port>${myport}</port>
</receiver>
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>
ただし、上記の構成では、ログ ファイルのサイズが 10 MB に達した場合、ログ ファイルはロールされません。したがって、ServerSocketReceiver コンポーネントに対してローリング ポリシーがまだ実行されているのだろうかと思います。
私に助言するのを手伝ってください。