package com.guahao.dap.mi.access.service.impl.utils.aspect; import com.guahao.gtrace.toolkit.trace.annotation.GtraceBizInterceptor; import com.guahao.gtrace.toolkit.trace.enums.ParamCollectEnum; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import javax.annotation.Resource; /** * @author * @version V1.0 * @since 2021/3/25 14:35 */ @Slf4j @Aspect @Order(1) @Component public class EndpointInvokeTracerAspect { @Resource private InvocationTracer invocationTracer; @Pointcut("(execution(* com.guahao.dap.mi.access.external.clients.*.core.*.*.*(..)) || " + "execution(* com.guahao.dap.mi.access.external.clients.*.core.*.*(..)) ) && "+ "!execution(* com.guahao.dap.mi.access.external.clients.shandonghlwyy.core.jinan.SdjnhlwyyBeanConfig.*(..)) && "+ "!execution(* com.guahao.dap.mi.access.external.clients.taian.core.TaiAnFactoryBean.*(..)) && "+ "!execution(* com.guahao.dap.mi.access.external.clients.tjjgtzyse.core.TjjgtzyFactoryBean.*(..)) ") public void traceCut() { } @Around("traceCut()") public Object queryTrace(ProceedingJoinPoint joinPoint) throws Throwable { log.info("trace业务链路查询切面开始执行"); return invocationTracer.doInvoke(joinPoint); } @Component public static class InvocationTracer { @GtraceBizInterceptor(bizName = "调用外部接口", paramLevel = ParamCollectEnum.PARAM_ALL, bizAdapter = EndpointTracer.class) public Object doInvoke(ProceedingJoinPoint joinPoint) throws Throwable { return joinPoint.proceed(); } } }
链路监控页面
最新推荐文章于 2024-03-20 15:59:46 发布