如果MDC密钥丢失,请使用记录器名称

时间:2016-04-22 15:56:49

标签: logback mdc

我正在使用第三方软件包的logback,它在代码运行时在MDC中设置标识符。其余时间,此标识符未设置。因此,如果我使用PatternLayout [%X{id}] %m%n,那么我会看到像

这样的消息
[Foo] Foo running
[Bar] Bar running

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

[] Thing happened

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

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

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

但未将记录器名称用作默认值。

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

0 个答案:

没有答案