我正在使用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。
谢谢!
答案 0 :(得分:1)
如果您使用Logback,可能可以构建自定义appender / encoder / layout / converter。在Logback中,Appender接收LoggingEvent,它通常委托给编码器的编码器,该编码器用于构造消息的布局。查看源代码,了解哪个部分是您进行自定义处理的最佳位置。