1

我有一个 Java 应用程序,它必须将它的日志文件写入只写文件系统。当前的日志记录配置有一个每天滚动的 TimeBasedRollingPolicy。不幸的是,只写文件系统上的翻转失败,因为不允许重命名。

是否可以配置 Logback,以便创建名称已包含日期模式的日志文件?

4

1 回答 1

2

好的,这很容易。我所要做的就是从附加程序中删除文件元素。从此更改配置:

<appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logs/server.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
       <fileNamePattern>logs/%d{yyyy-MM-dd}-server.log</fileNamePattern>
    ...

对此

<appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
       <fileNamePattern>logs/%d{yyyy-MM-dd}-server.log</fileNamePattern>
    ...

通过省略文件元素,TimeBasedRollingPolicy 仅使用在 fileNamePattern 元素中配置的名称,并且不会在翻转时重命名。

于 2017-05-08T14:20:06.013 回答