Class TraceUtils
java.lang.Object
io.github.lunasaw.sip.common.utils.TraceUtils
Trace跟踪工具类
提供traceId的ThreadLocal管理和MDC集成功能
- Author:
- luna
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
清除当前线程的traceIdstatic String
生成新的traceIdstatic void
根据traceId启动跟踪 如果传入的traceId为空,则使用当前traceId或生成新的traceIdstatic String
获取当前线程的traceId(不自动生成)static String
getTrace()
获取trace并启动跟踪 生成新的traceId,启动跟踪,并返回当前traceIdstatic String
获取当前线程的traceId 如果不存在则自动生成一个新的traceId并设置到MDC中static boolean
检查当前线程是否有traceIdstatic void
setTraceId
(String traceId) 设置traceId到ThreadLocal和MDC中
-
Field Details
-
TRACE_ID_KEY
TraceId的MDC键名- See Also:
-
-
Constructor Details
-
TraceUtils
public TraceUtils()
-
-
Method Details
-
getTrace
获取trace并启动跟踪 生成新的traceId,启动跟踪,并返回当前traceId- Returns:
- 当前traceId,如果不存在则返回空字符串
-
genTrace
根据traceId启动跟踪 如果传入的traceId为空,则使用当前traceId或生成新的traceId- Parameters:
traceId
- 跟踪ID
-
setTraceId
设置traceId到ThreadLocal和MDC中- Parameters:
traceId
- 跟踪ID
-
getTraceId
获取当前线程的traceId 如果不存在则自动生成一个新的traceId并设置到MDC中- Returns:
- 当前traceId
-
getCurrentTraceId
获取当前线程的traceId(不自动生成)- Returns:
- 当前traceId,如果不存在则返回null
-
clearTraceId
public static void clearTraceId()清除当前线程的traceId -
generateTraceId
生成新的traceId- Returns:
- 生成的traceId
-
hasTraceId
public static boolean hasTraceId()检查当前线程是否有traceId- Returns:
- 如果存在traceId则返回true,否则返回false
-