关于日志系统

来源:16-5 日志监控

zuo2020

2020-07-04

老是您好,关于日志系统的搭建想请教一下:
场景:
记录什么人什么时间做了什么事情(增、删、改),用于审计
假如用户删了一条数据,我需要记录用户删掉的是哪条数据的具体内容,
假如用户修改了一条数据,我需要知道用户修改了哪些属性
这个做起来比较麻烦
其实就是要知道什么人时间做了什么事情包括操作的目标对象

什么人好做,我解析token获取userID,放在线程变量中,用的时候记录时间取就可以了,
但是操作对象比较难搞

删除一条数据,接口可能只会传一个唯一ID标识,根据ID就把数据删了,想知道删的具体事哪条数据,就不好弄了,这里可以做逻辑删除假删除,也可以建一张history表,在数据库写触发器,在删除的时候,在历史表中插入该条数据的历史记录
这两种方式,第一种,需要给所有表加上isDelete字段,用于标识这条数据是否被逻辑删除,也会影响到所有的查询语句,需要带上isDelete这个条件,第二种方式,需要给每张表都加上增删改的触发器,表多了触发器也很多,而且触发器也会影响系统系统,很麻烦

再或者,针对mapper做AOP,删之前先把删除的内容查出来,保存起来,修改之前先把原来的对象查出来记录,但是这种方式也觉得不好

有些零碎,这是我的想法,想请教老师这一块的功能,有没有比较好的方案,或者开源的框架可以实现
谢谢!

写回答

1回答

大目

2020-07-06

就我个人的经验来看,这个还是挺难搞成通用的,我个人的做法是在业务中去记录日志。

甚至都不是AOP的……

1
4
大目
回复
elinor_0
可以的
2022-01-12
共4条回复

Spring Cloud Alibaba微服务从入门到进阶

面向未来微服务:熟练掌握Spring Cloud Alibaba

3085 学习 · 1324 问题

查看课程