我有一个像下面那样的logback appender
<appender name="file-appender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<Prudent>true</Prudent>
<file>/logs/${processName}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/logs/${processName}.%d{yyyy-MM-dd}.gz</FileNamePattern>
<MaxHistory>7</MaxHistory>
</rollingPolicy>
</appender>
我有一个启动多个Java进程的webapp。进程开始并停止生成单独的日志文件。 FileNamePattern不断变化时,生成的文件永远不会被归档或删除。
例如,假设webapp进程名称是webapp,生成的进程具有名称process1,process2,process3等。这将生成以下一组日志文件。
webapp.log
process1.log
process2.log
process3.log
....
processn.log
现在,appender正确归档/删除webapp.log,但无法删除process*.log
日志,因为写入该日志文件的进程已经中断,而仍处于活动状态的webapp使用不同的日志文件名。
webapp经常不断产生新流程。有没有办法在7天后删除日志?可能是一个自定义的滚动策略?