背景
对于很多后台管理系统来说,权限较多,对系统操作的人也会多。如此以来,对于一些操作的记录就非常有必要了,从而可以清楚的追踪对系统进行操作的人以及做了哪些操作,并且可以快速排查定位一些问题。下面简单说一下自己设计的思路。
整体思路
基于spring 拦截器和java的注解,并且通过多线程形式异步向数据库中插入操作日志来实现操作日志功能模块。
1.数据库设计
主日志mainlog表
记录主日志相关信息
子日志表childlog
记录子操作日志信息
2.java自定义注解
@Target({ ElementType.PARAMETER, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
public @interface MainAnnotation {
int maintype() default 0;
String type() default "0";
String tables() default "";
String desc() default "";
}