Java 不清除整个当前日志文件的Logback滚动

Java 不清除整个当前日志文件的Logback滚动,java,logging,logback,Java,Logging,Logback,我是日志框架领域的新手,所以请耐心点,也许我在问一些愚蠢的问题 我想知道是否可以告诉logback在发生翻滚时不要清理java应用程序的整个当前日志文件 滚动策略 <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <cleanHistoryOnStart>false</cleanHistoryOnStart&g

我是日志框架领域的新手,所以请耐心点,也许我在问一些愚蠢的问题

我想知道是否可以告诉logback在发生翻滚时不要清理java应用程序的整个当前日志文件

滚动策略

    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
        <cleanHistoryOnStart>false</cleanHistoryOnStart>
        <fileNamePattern>${ROLLING_FILE_NAME_PATTERN:-${LOG_FILE_NAME}.%d{yyyy-MM}.%i.gz}</fileNamePattern>
        <maxFileSize>100MB</maxFileSize>
        <maxHistory>7</maxHistory>
        <totalSizeCap>10GB</totalSizeCap>
    </rollingPolicy>

假的
${ROLLING_FILE_NAME_PATTERN:-${LOG_FILE_NAME}.%d{yyyy-MM}.%i.gz}
100MB
7.
10GB
当前行为

  • 每天或每100mb的滚动都将适用

  • 当应用滚动时,日志文件中的消息按照名称模式完全压缩(gz)

  • 日志文件已完全清理

通缉行为

  • 和current相同,但当发生滚动时,日志文件并没有完全清理
如果日志文件可以维护最后n天的消息,那就太好了

主要问题是,我的用户可以通过前端看到实际的日志文件: 当应用滚动更新时,用户只能看到新的loggin消息。 我的用户需要在工作周的每一刻查看最近7天的消息

是否可能,或者我必须切换到SQL表来记录消息

提前感谢,