Java Logback,设置要保留历史记录的文件总数
我正在使用logback来滚动日志文件。我能够确定每个文件的大小,以及每天的最大文件数。但我还有一个要求要完成,即尺寸的总数不应超过最大值。为了详细说明,假设我每天的文件限制是10,现在我想设置最大文件限制50。因此,第5天之后的任何一天(不一定是第5天之后。某一天可能只生成2个文件。)它将达到最大文件数 这就是我当前的代码。任何人都可以编辑这个以达到我期望的结果吗Java Logback,设置要保留历史记录的文件总数,java,logging,logback,Java,Logging,Logback,我正在使用logback来滚动日志文件。我能够确定每个文件的大小,以及每天的最大文件数。但我还有一个要求要完成,即尺寸的总数不应超过最大值。为了详细说明,假设我每天的文件限制是10,现在我想设置最大文件限制50。因此,第5天之后的任何一天(不一定是第5天之后。某一天可能只生成2个文件。)它将达到最大文件数 这就是我当前的代码。任何人都可以编辑这个以达到我期望的结果吗 <appender name="MAINLOG" class="ch.qos.logback.
<appender name="MAINLOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>./logs/usageHub.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxHistory>90</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 100MB -->
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<charset>utf-8</charset>
<Pattern>[%p] %d{yyyy-MMM-dd HH:mm:ss,SSS} %c - %m%n</Pattern>
</encoder>
</appender>
./logs/usageHub.%d{yyyy-MM-dd}.%i.log
90
10MB
utf-8
[%p]%d{yyyy-MMM-dd HH:mm:ss,SSS}%c-%m%n
我们已将FixedWindowRollingPolicy配置如下,该策略正在运行,仅保留5个文件,最大大小限制为50MB
<appender name="rollingTransportLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.folder}/cd_transport.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${log.folder}/cd_transport.%i.log</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>5</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>50MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<prudent>false</prudent>
</appender>
。希望这有帮助。根据您不能设置每天或天数。@Raghuveer我可以限制总文件数,而不是每天的总文件数吗?是的,正如您所看到的,我最多只有5个文件。我相信maxIndex可以是任何整数。还是有限制?