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>

上記のコードは、ログ ファイルのサイズが 10 MB を超える場合に、ファイルを 1 日単位で圧縮します。

注:filePatternに「%i」を追加しました。ファイル名をfile1、file2などとして繰り返します。

于 2013-06-14T06:49:22.730 に答える