Class TraceUtils

java.lang.Object
io.github.lunasaw.sip.common.utils.TraceUtils

public class TraceUtils extends Object
Trace跟踪工具类 提供traceId的ThreadLocal管理和MDC集成功能
Author:
luna
  • Field Details

  • Constructor Details

    • TraceUtils

      public TraceUtils()
  • Method Details

    • getTrace

      public static String getTrace()
      获取trace并启动跟踪 生成新的traceId,启动跟踪,并返回当前traceId
      Returns:
      当前traceId,如果不存在则返回空字符串
    • genTrace

      public static void genTrace(String traceId)
      根据traceId启动跟踪 如果传入的traceId为空,则使用当前traceId或生成新的traceId
      Parameters:
      traceId - 跟踪ID
    • setTraceId

      public static void setTraceId(String traceId)
      设置traceId到ThreadLocal和MDC中
      Parameters:
      traceId - 跟踪ID
    • getTraceId

      public static String getTraceId()
      获取当前线程的traceId 如果不存在则自动生成一个新的traceId并设置到MDC中
      Returns:
      当前traceId
    • getCurrentTraceId

      public static String getCurrentTraceId()
      获取当前线程的traceId(不自动生成)
      Returns:
      当前traceId,如果不存在则返回null
    • clearTraceId

      public static void clearTraceId()
      清除当前线程的traceId
    • generateTraceId

      public static String generateTraceId()
      生成新的traceId
      Returns:
      生成的traceId
    • hasTraceId

      public static boolean hasTraceId()
      检查当前线程是否有traceId
      Returns:
      如果存在traceId则返回true,否则返回false