我有以下 logback 设置
<appender name="TEST-SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
<discriminator class="..."/>
<sift>
<appender name="ROLL-${fileName}" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>../log/${fileName}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>../log/${fileName}%i.log</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>5MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg%n</pattern>
</encoder>
</appender>
</sift>
</appender>
鉴别器类通过解析 loggerName 返回一个值。密钥被定义为“fileName”。
当我只测试 RollingFileAppender (在用${fileName}
静态值替换变量引用之后)时,日志翻转很好,但是当我将它嵌套在 SiftingAppender 下时,日志不会翻转。我测试了筛选附加程序,"FileAppender"
它能够根据鉴别器创建正确的文件名。
我还使用鉴别器测试了相同的配置
<discriminator>
<key>fileName</key>
<defaultValue>appname</defaultValue>
</discriminator>
并删除class
标签。这会创建appname.log
但不会翻转。
设置debug="true"
没有将任何附加信息写入日志文件。
我在这里错过了什么吗?如何在 SiftingAppender 中实现 RollingFileAppender?