java - 自动标记slf4j参数化变量?

标签 java logging slf4j

我正在使用 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/

相关文章:

java - 有人成功使用 Google 的 WindowBuilder Eclipse 插件构建包含 JFreeChart 组件的 UI 吗?

java - JUnit 使用 Mockito 进行 Servlet 测试用例

c++ - 使用 cmake 错误链接 boost 日志

hibernate - 如何在 Hibernate 4 中配置日志记录以使用 SLF4J

java - 调用FutureTask的run方法时如何消除sonar qube问题?

java - Play Framework 不是热重载

logging - 如何使用 NLog 登录到具有不同日志记录级别的多个目标?

c++ - <math.h> 是 C 还是 C++?

java - JPMS 是否支持来自 META-INF/services 的自动模块服务?

java - Logback 是否需要类路径中的 Groovy?使用 logback.xml 而不是 logback.gorovy 进行配置