类 OperationLogAspect
java.lang.Object
net.sohelp.boot.admin.core.aspect.OperationLogAspect
操作日志记录切面类,用于拦截带有@OperationLog注解的方法执行,
自动记录用户的操作行为、请求参数、响应结果以及异常信息到数据库中。
- 从以下版本开始:
- 2020/03/21 16:58
- 作者:
- AaronFung
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明voiddoAfterReturning(org.aspectj.lang.JoinPoint joinPoint, Object result) 记录操作日志,在目标方法正常返回后调用voiddoAfterThrowing(org.aspectj.lang.JoinPoint joinPoint, Exception e) 记录异常日志,在目标方法抛出异常后调用voiddoBefore(org.aspectj.lang.JoinPoint joinPoint) 在目标方法执行前记录开始时间static booleanisPostJsonRequest(jakarta.servlet.http.HttpServletRequest request) 检查请求是否为POST类型的JSON数据void定义切入点表达式,匹配所有被@OperationLog注解标记的方法void保存操作记录到数据库中,异步执行并支持事务回滚
-
构造器详细资料
-
OperationLogAspect
public OperationLogAspect()
-
-
方法详细资料
-
operationLog
public void operationLog()定义切入点表达式,匹配所有被@OperationLog注解标记的方法 -
doBefore
在目标方法执行前记录开始时间- 参数:
joinPoint- 连接点对象,封装了目标方法的相关信息- 抛出:
Throwable- 抛出的异常
-
doAfterReturning
记录操作日志,在目标方法正常返回后调用- 参数:
joinPoint- 连接点对象,封装了目标方法的相关信息result- 目标方法的返回值- 抛出:
Exception- 异常信息
-
doAfterThrowing
记录异常日志,在目标方法抛出异常后调用- 参数:
joinPoint- 连接点对象,封装了目标方法的相关信息e- 方法抛出的异常对象- 抛出:
Exception- 异常信息
-
saveLog
@Async @Transactional(rollbackFor=java.lang.Exception.class) public void saveLog(org.aspectj.lang.JoinPoint joinPoint, Object result, Exception error) throws Exception 保存操作记录到数据库中,异步执行并支持事务回滚- 参数:
joinPoint- 连接点对象result- 方法返回结果error- 异常对象- 抛出:
Exception- 可能抛出的异常
-
isPostJsonRequest
public static boolean isPostJsonRequest(jakarta.servlet.http.HttpServletRequest request) 检查请求是否为POST类型的JSON数据- 参数:
request- HttpServletRequest对象- 返回:
- true表示是POST JSON请求,false表示不是
-