我有一个 Java 应用程序,它必须将它的日志文件写入只写文件系统。当前的日志记录配置有一个每天滚动的 TimeBasedRollingPolicy。不幸的是,只写文件系统上的翻转失败,因为不允许重命名。
是否可以配置 Logback,以便创建名称已包含日期模式的日志文件?
好的,这很容易。我所要做的就是从附加程序中删除文件元素。从此更改配置:
<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 元素中配置的名称,并且不会在翻转时重命名。