package com.newvideo.aspect; import java.lang.reflect.Method; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import net.sf.ehcache.CacheManager; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.reflect.MethodSignature; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletWebRequest; import com.newvideo.domain.AdminInfo; import com.newvideo.log.LogHelper; import com.newvideo.util.Constant; import com.newvideo.util.IPUtil; @Component @Aspect() public class LogAspect { private String getMethodName(ProceedingJoinPoint pjp) { try { MethodSignature sig = (MethodSignature) pjp.getSignature(); Method method = sig.getMethod(); return method.getDeclaringClass().getName() + "." + sig.getMethod().getName(); } catch (Exception e) { return ""; } } @Around("execution(public * com.newvideo.controller.parser.*.*(..))") public Object countTime(ProceedingJoinPoint joinPoint) { Object[] args = joinPoint.getArgs(); long starttime = System.currentTimeMillis(); Object obj = null; try { obj = joinPoint.proceed(args); } catch (Throwable e) { e.printStackTrace(); } LogHelper.countTime(getMethodName(joinPoint) + "#" + (System.currentTimeMillis() - starttime) + ""); return obj; } // @Around("execution(public * com.yeshi.buwan.controller.parser.*(..))") public Object statisticEhcache(ProceedingJoinPoint joinPoint) { Object[] args = joinPoint.getArgs(); long starttime = System.currentTimeMillis(); Object obj = null; try { obj = joinPoint.proceed(args); } catch (Throwable e) { e.printStackTrace(); } LogHelper.countTime(getMethodName(joinPoint)); CacheManager manager = CacheManager.newInstance("src/ehcache.xml"); // manager. // Cache test = manager.getCache("testCache"); return obj; } }