如打印每个请求的 请求id,通过ThreadContext实现。
Log4j2中包含一个类:ThreadContext(实际上是一个本地线程)
ThreadContext.put("id", "123123");
然后在log4j2.xml配置文件中配置:
<Console name="console" target="SYSTEM_OUT" follow="true">
<PatternLayout pattern="[LOGID:%X{id}] %d{yyyy/MM/dd HH:mm:ss} [%p] %c{1} (%F:%L) %msg%n" />
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY" />
</Console>
!注意:ThreadContext只在当前线程中生效。