每 x 天滚动一次的 logback 文件名模式

dtk*_*msl 3 scala logback rollingfileappender slf4j

我找到了一些预定义的fileNamePatterns TimeBasedRollingPolicy

这是每分钟都会做的一个。

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logfile.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">      
      <fileNamePattern>logfile.%d{yyyy-MM-dd_HH-mm}.log</fileNamePattern>
    </rollingPolicy>
  </appender>
Run Code Online (Sandbox Code Playgroud)

有谁知道我如何每 x 天执行此操作?

我可以延长吗RollingFileAppender?我正在 Scala 中做这个。

por*_*szd 6

无论使用 Scala 还是 Java,答案都很简单,即 x == 1 和 x == 7。

对于每日滚动,请使用

<fileNamePattern>logfile.%d{yyyy-MM-dd}.log</fileNamePattern>
Run Code Online (Sandbox Code Playgroud)

每周写

<fileNamePattern>logfile.%d{yyyy-ww}.log</fileNamePattern>
Run Code Online (Sandbox Code Playgroud)

(实际上,它会在一周开始时滚动,具体取决于您所在的区域,而不是每 7 天滚动一次)。

如果您想要一个更通用的解决方案,您必须实现自定义的 RollingPolicy,但我不知道为什么您需要它。如果您对这个大小的日志有疑问,您应该注意,当达到特定大小时,可以滚动日志。http://logback.qos.ch/manual/appenders.html有很多示例