1

我正在使用 slf4j。我有很多看起来像这样的日志语句;

LOG.debug("I like {} and {}", new Object[] { "foo", "bar" });

执行此日志语句时,我会得到如下所示的日志;

I like foo and bar

正如预期的那样。但是,我希望日志消息参数具有额外的格式,以使日志解析器更容易。所需的日志消息,字面上看起来像这样;

I like [foo] and [bar]

显然我可以将文字日志语句更新为I like [{}] and [{}],但这是一个很大的变化,使日志语句看起来不必要的混乱,并且对于未来不是很灵活。

有人可以提出一个更快的解决方案,同时仍然与 slf4j 保持一致吗?我正在使用的实现是 logback-classic 来执行实际的 lgoging。

谢谢!

4

1 回答 1

1

如果你使用 Logback,可能你可以构建一个自定义的 appender/encoder/layout/converter。在 Logback 中,Appender 接受 LoggingEvent,它通常委托给编码器,然后委托给布局以构造消息。查看源代码,看看哪个部分是您进行自定义处理的最佳位置。

于 2013-03-26T05:15:33.997 回答