前一条日志还有traceId, 后一条就没有了
是 mybatis 对 dao 层查询使用了线程池,导致当前mdc中的traceId丢失了吗?
public List<UserInfo> queryUserInfos(UserInfoQuery query) {
logger.info("queryUserInfos1, query: {}", JsonUtils.toJson(query));
List<UserInfo> userInfos = userDao.queryUserInfos(query);
logger.info("queryUserInfos2, query: {}", JsonUtils.toJson(query));
return userInfos;
}
queryUserInfos1 日志携带了mdc的traceId
queryUserInfos2 日志丢失了
需要有更多的代码来判断问题。
当前能判断的是
queryUserInfos
的执行肯定是一个线程在执行,至于mybatis 对 dao 层查询使用了线程池
这个如果影响,也只会影响userDao.queryUserInfos
这个函数里面的日志打印,并不会影响queryUserInfos2
。