微服务实现简单的分布式日志追踪
数据库 2025-10-09 05:13:29
0

复制import org.apache.commons.lang.RandomStringUtils; import org.apache.commons.lang.StringUtils; import org.slf4j.MDC; public class TraceIdUtils { publicstatic final String TRACE_ID = "traceId"; private static final int MAX_ID_LENGTH = 10; /** * 生成 traceId */ private static String genTraceId() { return RandomStringUtils.randomAlphanumeric(MAX_ID_LENGTH); } /** * 设置 traceId */ publicstatic void setTraceId(String traceId) { // 如果参数为空,微服务实则生成新 ID traceId = StringUtils.isBlank(traceId) ?现简 genTraceId() : traceId; // 将 traceId 放到 MDC 中 MDC.put(TRACE_ID, StringUtils.substring(traceId, -MAX_ID_LENGTH)); } /** * 获取 traceId */ publicstatic String getTraceId() { // 获取 String traceId = MDC.get(TRACE_ID); // 如果 traceId 为空,站群服务器则生成新 ID return StringUtils.isBlank(traceId) ?分布 genTraceId() : traceId; } } 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.云服务器提供商