1、定义日志输出的属性
@Data
public class WebLog {
/**
* 操作描述
*/
private String description;
/**
* URL
*/
private String url;
/**
* Header
*/
private String token;
/**
* 请求类型
*/
private String method;
/**
* 请求参数
*/
private Object requestParameter;
/**
* IP地址
*/
private String ip;
/**
* 操作用户
*/
private String username;
/**
* 方法参数
*/
private Object parameter;
/**
* 操作时间
*/
private Long startTime;
/**
* 消耗时间
*/
private Long spendTime;
/**
* 请求返回的结果
*/
private Object result;
}
2、aop切面处理(需要导入aop的包)
@Aspect
@Component
@Order(1)
public class WebLogAspect {
private static final Logger log = LoggerFactory.getLogger(WebLogAspect.class);
@Value("${jwt.tokenHeader:Authorization}")
private String tokenHeader;
@Pointcut("execution(public * com.xxx.xxx.controller.*.*(..))")
public void webLog() {
}
@Pointcut("execution(public * com.xxx.xxx.exception.APIExceptionHandler.*(..))")
public void exceptionLog() {
}
@Before("webLog()")
public void