1234567891011121314151617181920212223242526272829303132333435 |
- package com.sf.springboot.dto;
- 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.stereotype.Component;
- import org.springframework.web.context.request.RequestContextHolder;
- import org.springframework.web.context.request.ServletRequestAttributes;
- import javax.servlet.http.HttpServletRequest;
- @Aspect
- @Component
- public class LogAspect {
- // private final static Logger LOGGER = LoggerFactory.getLogger(LogAspect.class);
- @Pointcut(value = "execution(* com.sf.springboot.controller.UserController.queryUserJson(..))")
- public void log(){}
- @Around(value = "log()")
- public Object methodAroud(ProceedingJoinPoint joinPoint) throws Throwable {
- ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
- HttpServletRequest request = attributes.getRequest();
- //获取主机IP
- System.out.println("IP :{}"+request.getRemoteAddr());
- //获取请求地址
- System.out.println("URL:{}"+request.getRequestURL().toString());
- //获取请求方式
- System.out.println("HTTP Method:{}"+request.getMethod());
- //获取类名和方法名
- System.out.println("Class Method:{}.{}"+joinPoint.getSignature().getDeclaringTypeName()+joinPoint.getSignature().getName());
- Object proceed = joinPoint.proceed();
- return proceed;
- }
- }
|