You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.3 KiB
40 lines
1.3 KiB
package com.epmet.aspect;
|
|
|
|
import com.epmet.commons.tools.aspect.BaseRequestLogAspect;
|
|
import org.aspectj.lang.ProceedingJoinPoint;
|
|
import org.aspectj.lang.annotation.Around;
|
|
import org.aspectj.lang.annotation.Aspect;
|
|
import org.springframework.core.annotation.Order;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.web.context.request.RequestAttributes;
|
|
import org.springframework.web.context.request.RequestContextHolder;
|
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
/**
|
|
* 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。
|
|
*/
|
|
@Aspect
|
|
@Component
|
|
@Order(0)
|
|
public class RequestLogAspect extends BaseRequestLogAspect {
|
|
|
|
@Override
|
|
@Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ")
|
|
public Object proceed(ProceedingJoinPoint point) throws Throwable {
|
|
return super.proceed(point, getRequest());
|
|
}
|
|
|
|
/**
|
|
* 获取Request对象
|
|
*
|
|
* @return
|
|
*/
|
|
private HttpServletRequest getRequest() {
|
|
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
|
|
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
|
|
return sra.getRequest();
|
|
}
|
|
|
|
}
|
|
|