我是 log4j2 的新手。这是场景 我正在追踪它,如下
log.trace("some message",object);
现在我想使用控制台附加器打印对象。我的附加器看起来像这样。
<Console name="Console">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
但现在它只打印。
"16:40:30.300 [main] TRACE com.xxx.skip.webservice.RunService - test"
但是如果“Object”是 Throwable 实例,它可以正常工作,但不适用于任何其他对象。 请为我指明正确的方向。
更新
似乎无法将对象自定义记录到与下面答案不同的字段。
最佳答案
您想将对象打印为日志消息的一部分吗?然后就这样做:
log.trace("some message {}", object);
这实际上与:
log.trace("some message " + object);
但它更好,因为 String
连接仅在启用所使用的级别(本例中为跟踪)(惰性求值)时才会发生。
关于java - 如何在log4j2中打印Object参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33403651/