You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.7 KiB
Java
50 lines
1.7 KiB
Java
5 years ago
|
package com.bsd.say.aop;
|
||
|
|
||
|
import com.bsd.say.util.LogUtils;
|
||
|
import org.aspectj.lang.JoinPoint;
|
||
|
import org.aspectj.lang.annotation.AfterReturning;
|
||
|
import org.aspectj.lang.annotation.Aspect;
|
||
|
import org.aspectj.lang.annotation.Before;
|
||
|
import org.aspectj.lang.annotation.Pointcut;
|
||
|
import org.slf4j.Logger;
|
||
|
import org.springframework.stereotype.Component;
|
||
|
import org.springframework.web.context.request.RequestContextHolder;
|
||
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
||
|
|
||
|
import javax.servlet.http.HttpServletRequest;
|
||
|
import java.util.Enumeration;
|
||
|
|
||
|
@Aspect
|
||
|
@Component
|
||
|
public class LogAspect {
|
||
|
|
||
|
private Logger logger = LogUtils.getPlatformLogger();
|
||
|
|
||
|
@Pointcut("execution(public * com.bsd.say.controller.*.*(..))")
|
||
|
public void webLog() {
|
||
|
|
||
|
}
|
||
|
|
||
|
@Before("webLog()")
|
||
|
public void doBefore(JoinPoint joinPoint) {
|
||
|
|
||
|
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
||
|
HttpServletRequest request = attributes.getRequest();
|
||
|
// 记录下请求内容
|
||
|
logger.info("URL : " + request.getRequestURL().toString());
|
||
|
logger.info("HTTP_METHOD : " + request.getMethod());
|
||
|
logger.info("IP : " + request.getRemoteAddr());
|
||
|
Enumeration<String> enu = request.getParameterNames();
|
||
|
while (enu.hasMoreElements()) {
|
||
|
String name = (String) enu.nextElement();
|
||
|
logger.info("name:{},value:{}", name, request.getParameter(name));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@AfterReturning(returning = "ret", pointcut = "webLog()")
|
||
|
public void doAfterReturning(Object ret) throws Throwable {
|
||
|
// 处理完请求,返回内容
|
||
|
logger.info("RESPONSE : " + ret);
|
||
|
}
|
||
|
}
|