Log4j2:如何在日志中打印所有对象参数

时间:2016-03-31 11:07:57

标签: java logging configuration log4j log4j2

我想在Log4J2中打印所有对象参数作为日志消息的一部分。例如,如果我打电话

logger.info("Hello World 3", true, false, "'3 object params means we invoke ... method'");

结果是只记录以下内容

  

Hello World 3

我想要像

这样的东西
  

Hello World 3 true false'3 object params表示我们调用... method'

我可以这样做

logger.info("Hello World 3 {} {} {}", true, false, "'3 object params means we invoke ... method'");

但是我必须记住添加正确的{}数。此外,我使用来自其他日志框架的regexp重构了代码,因此我有很多语句看起来像第一个使用对象参数而不是{}。

可以更改添加*或[]的消息吗?我无法在Log4j2文档MessagesLayout Patterns

中找到此内容

1 个答案:

答案 0 :(得分:1)

请在Log4j2 Jira问题跟踪器上提出此功能请求。

两个考虑因素: 1.实现必须在提供的额外参数之间添加空格。 2.需要注意不要破坏提取任何最后一个Throwable参数的现有逻辑。