【发布时间】:2017-01-15 11:13:33
【问题描述】:
在我的 Spring Boot 应用程序中,我使用的是 log4j2。这是一个典型的网络应用程序。我有很多连接,我想为每个连接分开日志。
我想用Thread Context:
@RequestMapping(value = "/test", method = RequestMethod.GET)
public String test() throws InterruptedException
{
try (final CloseableThreadContext.Instance ctc = CloseableThreadContext.push(UUID.randomUUID().toString()))
{
logger.info("start");
Thread.sleep(1000);
logger.info("end.");
}
return "response";
}
我正在两个终端中进行测试:curl localhost:8000/test。但我有结果:
14:09:27.895 [qtp401792389-21] INFO Controllers.ContentController - start
14:09:28.062 [qtp401792389-19] INFO Controllers.ContentController - start
14:09:28.896 [qtp401792389-21] INFO Controllers.ContentController - end.
14:09:29.062 [qtp401792389-19] INFO Controllers.ContentController - end.
这是多个会话,我想要这个:
14:09:27.895 [qtp401792389-21] INFO Controllers.ContentController - start
14:09:28.896 [qtp401792389-21] INFO Controllers.ContentController - end.
14:09:28.062 [qtp401792389-19] INFO Controllers.ContentController - start
14:09:29.062 [qtp401792389-19] INFO Controllers.ContentController - end.
那么,这个有什么特别的配置吗?
【问题讨论】:
标签: java spring logging log4j log4j2