Logback RollingFileAppender不起作用

时间:2015-07-01 14:28:29

标签: logging slf4j logback

我在回归时遇到了一个非常奇怪的问题,我需要一些帮助。

我已经在这个网站和其他许多网站上花了很多时间,但是没有一个提议的解决方案适合我。

所以,我的问题如下:我有一个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。

我有点绝望......任何想法?

非常感谢,

的Seb

1 个答案:

答案 0 :(得分:0)

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