package com.qxueyou.scc.base.handler;
|
|
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.Logger;
|
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;
|
|
@Order(80)
|
@Aspect
|
@Component
|
public class PerformanceMonitor {
|
|
private static final Logger logger = LogManager.getLogger("PerformanceMonitor");
|
|
@Pointcut("execution(* com.iqtogether.qxueyou..*Service.*(..))")
|
public void pointCutMethod() {
|
}
|
|
@Around("pointCutMethod()")
|
public Object doAround(ProceedingJoinPoint pjp) throws Throwable {
|
long begin = System.currentTimeMillis();
|
Object o = pjp.proceed();
|
long end = System.currentTimeMillis();
|
logger.debug("{}:{}",pjp.getTarget().getClass()+"."+pjp.getSignature().getName(),(end-begin));
|
return o;
|
}
|
}
|