关于日志系统
来源:16-5 日志监控

zuo2020
2020-07-04
老是您好,关于日志系统的搭建想请教一下:
场景:
记录什么人什么时间做了什么事情(增、删、改),用于审计
假如用户删了一条数据,我需要记录用户删掉的是哪条数据的具体内容,
假如用户修改了一条数据,我需要知道用户修改了哪些属性
这个做起来比较麻烦
其实就是要知道什么人时间做了什么事情包括操作的目标对象
什么人好做,我解析token获取userID,放在线程变量中,用的时候记录时间取就可以了,
但是操作对象比较难搞
删除一条数据,接口可能只会传一个唯一ID标识,根据ID就把数据删了,想知道删的具体事哪条数据,就不好弄了,这里可以做逻辑删除假删除,也可以建一张history表,在数据库写触发器,在删除的时候,在历史表中插入该条数据的历史记录
这两种方式,第一种,需要给所有表加上isDelete字段,用于标识这条数据是否被逻辑删除,也会影响到所有的查询语句,需要带上isDelete这个条件,第二种方式,需要给每张表都加上增删改的触发器,表多了触发器也很多,而且触发器也会影响系统系统,很麻烦
再或者,针对mapper做AOP,删之前先把删除的内容查出来,保存起来,修改之前先把原来的对象查出来记录,但是这种方式也觉得不好
有些零碎,这是我的想法,想请教老师这一块的功能,有没有比较好的方案,或者开源的框架可以实现
谢谢!
写回答
1回答
-
大目
2020-07-06
就我个人的经验来看,这个还是挺难搞成通用的,我个人的做法是在业务中去记录日志。
甚至都不是AOP的……
142022-01-12
相似问题