2

我正在将 logback 与第三方包一起使用,该第三方包在其代码运行时在 MDC 中设置一个标识符。其余时间,未设置此标识符。所以如果我使用 a PatternLayoutof [%X{id}] %m%n,那么我会看到类似的消息

[Foo] Foo running
[Bar] Bar running

与包相关的消息。但是,我的其余日志语句看起来像

[] Thing happened

存在时是有用的%X{id}信息,但我希望在不存在时使用记录器名称。我试过了

[%X{id:-%logger{20}}] 

[%X{id:-logger{20}}]

但两者都没有使用记录器名称作为默认值。

如果未设置,我可以编写一个自定义布局,将 id 设置为记录器名称,转发到布局,然后清除字段。有没有更简单的方法来做到这一点?

4

0 回答 0