1

如何配置logback以更改其自动滚动的时间?我在手册中找不到它...这是我的 logback.xml 片段:

<appender name="data" class="ch.qos.logback.core.FileAppender">
    <file>mylog.log</file>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>mylog.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
    </rollingPolicy>
    <encoder>
        <pattern>%msg%n</pattern>
    </encoder>
</appender>
4

2 回答 2

2

这是一个已知的不受支持的功能。

[JIRA] (LOGBACK-205):每天以绝对时间旋转

也许如果我有时间,我会提交一个拉取请求。

于 2013-06-14T12:51:47.990 回答
-1

尝试这样做,希望它对你有用。

<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOGDIR}/filename.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <!-- rollover daily -->
    <FileNamePattern>${LOGDIR}/file.%d{yyyy-MM-dd}.%i.log.gz
    </FileNamePattern>
    <!-- keep 30 days' worth of history -->
    <MaxHistory>30</MaxHistory>
    <!-- or whenever the file size reaches 10MB -->
    <timeBasedFileNamingAndTriggeringPolicy
        class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
        <maxFileSize>10MB</maxFileSize>
    </timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
    <Pattern>%date [%thread] %-5level %logger{36} - %msg%n
    </Pattern>
</encoder>

如果日志文件大小超过 10MB,上述代码将按天压缩您的文件。

注意:我在 filePattern 中添加了“%i”,它会将您的文件名迭代为 file1、file2 等。

于 2013-06-14T06:49:22.730 回答