我正在创建一个自定义 logback appender,它需要在某些情况下(通常是失败)回退到另一个 appender。我想要实现的是:
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{HH:mm:ss.SSS} - %msg%n</Pattern>
</layout>
</appender>
<appender name="MYAPPENDER" class="my.appender.class">
<appender-ref ref="CONSOLE" />
</appender>
<root level="trace">
<appender-ref ref="MYAPPENDER" />
</root>
</configuration>
现在,我已经在 MYAPPENDER 中实现了AppenderAttachable并且它似乎确实有效 - 框架在初始化期间设置了对 CONSOLE appender 的引用,我可以正常使用它。
这是处理此案的标准方法吗?这种方法有替代方法吗?想法?