归档具有进程名称的logback文件

时间:2014-12-15 17:12:57

标签: logging logback

我有一个像下面那样的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天后删除日志?可能是一个自定义的滚动策略?

0 个答案:

没有答案