java - Log4j2:如何打印日志中的所有对象参数

标签 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 means we invoke ... method'

我能做到

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

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

可以更改消息添加*或[]吗?我在 Log4j2 文档 Messages 中找不到这个或Layout Patterns

最佳答案

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

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

关于java - Log4j2:如何打印日志中的所有对象参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36331692/

相关文章:

apache - Phusion 乘客未登录

intellij-idea - 如何将.editorconfig应用于intellij中的现有项目

stored-procedures - Entity Framework Code First - 为 SqlQuery 配置映射

java - for循环,遍历字母表? java

java - 如何删除在java中读取的文件末尾的 '?'符号

node.js - 有很多console.log()可以吗?

python-3.x - 如何启动一次Python日志记录实例

java - 线程等待用户单击某些内容

java - 变量应该在监听器中是最终的

sqlite - FluentNHibernate SQLite 默认配置 ProxyFactoryFactory