[Java]--MDC and AOP aspects implement trace log tracking

Table of contents

I. Introduction

This article mainly introduces the trace log tracking solution, mainly combining AOP aspects and specific business scenarios to implement related functions.

2. Code examples

ThreadMdcUtil tool class

public class ThreadMdcUtil {
   
    
    

    public static void setTraceIdIfAbsent() {
   
    
    
        if (MDC.get("traceId") == null) {
   
    
    
            MDC.put("traceId", TraceIdUtil.getTraceId());
        }
    }

    public static Map<String,Object> getTraceInfo(){
   
    
    
        Map<String,Object> map = new HashMap<>();
        map.put("traceId",MDC.get("traceId"));
        map.put("operator",MDC.get("operator"));
        map.put("businessType",MDC.get("businessType"));
        map.put("className",MDC.get("className"));
        map.put("wayName",MDC.get("wayName"));
        return map;
    }


    /**
     * 定制链路跟踪信息
     * @param traceId
     * @param operator
     * @param businessType
     * @param className
     * @param wayName
     */
    public static void customizeTrace(String traceId,String operator,String businessType,String className,String wayName){
   
    
    
        if(MDC.get("traceId") == null){
   
    
    
            MDC.put("traceId", StringUtils.isNotBlank(traceId)? traceId

Guess you like

Origin blog.csdn.net/xunmengyou1990/article/details/130184533