【发布时间】:2013-06-11 07:37:00
【问题描述】:
我有两个附加程序。其中之一是 DB appender,另一个是 SMTPAppender。当我用特殊标记记录一个字符串时,我想同时使用我的自定义 db appender 和 SMTPAppender。但是我不想像这样定义两个附加程序:
<logger name="com.MyClass" level="DEBUG" additivity="false">
<appender-ref ref="CUSTOM_DB"/>
<appender-ref ref="CUSTOM_EMAIL"/>
</logger>
我想要一个像这样的特殊参考:
<appender-group ref="CUSTOM_COMBO">
<appender-ref ref="CUSTOM_DB"/>
<appender-ref ref="CUSTOM_EMAIL"/>
</appender-group>
<logger name="com.MyClass" level="DEBUG" additivity="false">
<appender-ref ref="CUSTOM_COMBO"/>
</logger>
它应该同时调用 CUSTOM_DB 和 CUSTOM_EMAIL。如何使用 slf4j 在 Logback 中做到这一点?
【问题讨论】:
-
酷功能请求。我认为这在 logback 中不存在。您可以在根记录器中放置一堆附加程序,并将您的可加性标志设置为
true。 -
您的用例中记录器和标记之间的关系是什么?
-
@Ceki 我想要一个以 CUSTOM 开头的标记。我将使用 CUSTOM.DB、CUSTOM.EMAIL 等标记进行日志记录。我想在我的附加程序中进行模式匹配,以检查任一给定标记是否以“CUSTOM”开头。或不。如果它以“CUSTOM”开头。并且 appender 是 CUSTOM_DB,如果它以“CUSTOM”开头,它将写入 DB。并且 appender 是 CUSTOM_EMAIL 它将发送一封电子邮件。这就是为什么我想要一个 appender 组。另一方面,如果我可以编写自定义 appender-group 并在其中进行模式匹配,例如 MARKER 以“CUSTOM”开头。否则这将是另一件很酷的事情。
-
我还不清楚你想要什么。你能再澄清一下这个问题吗?
-
我想把一个 ref 变成一组逻辑的 appender 而不是一个 appender。
标签: java logging slf4j logback appender