程序性能监控切面
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@Component
@Aspect
public class ServiceExceptionHandleAspect {
private static final Logger logger = LoggerFactory.getLogger(ServiceExceptionHandleAspect.class);
@Pointcut("@annotation(com.xxxxx.aspect.annotation.AnnotationForService)")
public void serviceMethodPointcut() {
}
@AfterThrowing(pointcut = "serviceMethodPointcut()", throwing = "t")
public void handleServiceMethodException(JoinPoint joinPoint, Throwable t) {
String methodName = joinPoint.getSignature().toLongString();
logger.warn(methodName + ":" + ExceptionUtils.getMessage(t));
}
}
程序异常处理切面
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.