1.api访问日志
对应数据库
拦截器
拦截逻辑
ApiAccessLogFilter类的createApiAccessLog方法
buildApiAccessLogDTO方法就是完善实体类,把接口执行时长之类的填充完整。
然后就是保存日志到infra_api_access_log数据库。
过滤器注册生效
2.api错误日志
对应数据库表
在全局异常处理中实现,系统抛出异常时记录异常日志
3.登录日志
4.操作日志
记录逻辑使用spring AOP
- @Aspect就是使得这个类具有AOP功能
- @Around表示使用的是环切,执行方法调用前,执行该切面方法,通过joinPoint.proceed();调用目标方法,目标方法执行完成后,继续执行后续方法。完整的处理,还可以增加异常处理。
第一个方法处理加了swagger注解@Operation的方法,(这里也可能加了@OperateLog注解)
第二个方法处理只加@OperateLog注解的方法
OperateLogAspect类的around0方法,里面的关机方法是this.log方法
log方法
log0就是补全信息添加日志
判断方法,也就是判断是否需要记录日志
1.如果有operatelog注解,且enable属性为true则肯定要记录(例如在get方法上加这个注解则也可以记录日志,在post方法加这个注解并且指定enable为false则不记录日志)
2.如果没有 @operateLog 注解,只有Operation注解默认只记录 POST、PUT、DELETE方法