我正在使用 slf4j。我有很多类似这样的日志语句;
LOG.debug("I like {} and {}", new Object[] { "foo", "bar" });
执行此日志语句时,我得到的日志如下所示;
I like foo and bar
正如预期的那样。但是,我希望日志消息参数具有额外的格式,以使日志解析器更容易。所需的日志消息实际上如下所示;
I like [foo] and [bar]
显然,我可以将文字日志语句更新为我喜欢 [{}] 和 [{}]
,但这是一个很大的更改,使日志语句看起来不必要的困惑,并且对于 future 来说不太灵活。
有人可以建议一个更快的解决方案,同时仍然保留 slf4j 吗?我使用的实现是 logback-classic 来执行实际的日志记录。
谢谢!
最佳答案
如果您使用 Logback,您可能可以构建自定义附加程序/编码器/布局/转换器。在 Logback 中,Appender 接收 LoggingEvent,它通常委托(delegate)给编码器,而编码器则委托(delegate)给布局来构造消息。查看源代码,了解哪一部分最适合您进行自定义处理。
关于java - 自动标记slf4j参数化变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15626582/