Logback RollingFileAppender 不起作用

Logback RollingFileAppender doesn't work

我在 logback 上遇到一个非常奇怪的问题,我需要一些帮助。

我已经在这个站点和许多其他站点上花费了很多时间,但是 none 提议的解决方案对我有用。

所以,我的问题如下:我的 slf4j/logback 配置在我的应用程序上运行良好,但 RollingFileAppender 根本不起作用! 我的一个 appender 的配置如下所示:

<appender name="telemisRollingFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOG_HOME}/msg.log</file>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${LOG_HOME}/msg.log.%d{yyyy-MM-dd}.%i</fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>5MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
        <maxHistory>30</maxHistory>
    </rollingPolicy>

    <encoder>
        <charset>UTF-8</charset>
        <pattern>%d %-5level %logger{35} - %class{150}.%method %line - %msg%n</pattern>
    </encoder>
</appender>

即使使用 maxFileSize = 5MB 标记,我的日志也可能超过 2GB,并且没有滚动。 我尝试了很多东西,改变模式,改变大小,使用另一个触发器,......没有任何效果。

我使用 logback 1.1.3 和 slf4j 1.7.12。

我有点绝望...有什么想法吗?

非常感谢,

塞布

我遇到了同样的问题,并注意到在无法删除或重命名日志文件的情况下,翻转不起作用。如果有另一个应用程序访问该文件,就会发生这种情况。您可以使用 ProcessExplorer 等工具来检查哪些进程有打开的文件句柄或尝试手动重命名文件。