Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Logback,设置要保留历史记录的文件总数_Java_Logging_Logback - Fatal编程技术网

Java Logback,设置要保留历史记录的文件总数

Java Logback,设置要保留历史记录的文件总数,java,logging,logback,Java,Logging,Logback,我正在使用logback来滚动日志文件。我能够确定每个文件的大小,以及每天的最大文件数。但我还有一个要求要完成,即尺寸的总数不应超过最大值。为了详细说明,假设我每天的文件限制是10,现在我想设置最大文件限制50。因此,第5天之后的任何一天(不一定是第5天之后。某一天可能只生成2个文件。)它将达到最大文件数 这就是我当前的代码。任何人都可以编辑这个以达到我期望的结果吗 <appender name="MAINLOG" class="ch.qos.logback.

我正在使用logback来滚动日志文件。我能够确定每个文件的大小,以及每天的最大文件数。但我还有一个要求要完成,即尺寸的总数不应超过最大值。为了详细说明,假设我每天的文件限制是10,现在我想设置最大文件限制50。因此,第5天之后的任何一天(不一定是第5天之后。某一天可能只生成2个文件。)它将达到最大文件数

这就是我当前的代码。任何人都可以编辑这个以达到我期望的结果吗

<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可以是任何整数。还是有限制?