【发布时间】:2019-04-19 09:13:50
【问题描述】:
我有一个像这样的简单附加程序:
<appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<append>true</append>
<file>logs/error-%d</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/archive/error-%d.gz</fileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>[%date{ISO8601}] [%X{requestId}] [%logger{0}] %msg%ex%n</Pattern>
</encoder>
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
<marker>MY_MARKER</marker>
</evaluator>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
它会正确创建日志文件,但它们被命名为logs/error-%d 而不是logs/error-2019-04-19。我也尝试使用模式logs/error-%d{yyyy-MM-dd},但它会生成相同的文件名,并且不会将日期模式替换为当前日期。
如何强制 Logback 创建具有当前日期而不是占位符的文件?
【问题讨论】: