This topic created in 576 days ago, the information mentioned may be changed or developed.
比如一个配置功能,要详细记录用户的操作过程,用于后期审计
这就涉及用例每一次操作都要记录一个操作日志
类似的场景还有很多
当前采用的是在代码每一处要记日志的地方,插入一个保存操作,把相关数据入库;
然后进一步想到的是把操作发到队列中,有个地方专门消费队列消息一点点的存
各位大佬,有没有啥好用的框架,可以很省事的干这个事情啊?
谢谢
21 replies • 2024-11-07 13:19:43 +08:00
 |
|
4
Sezxy Nov 6, 2024
controller aop 日志
|
 |
|
5
meeop Nov 6, 2024
框架干不了这个事,因为这种审计日志需要感知业务逻辑,解析业务字段的
一般做法是自己封一个业务日志工具,实现业务逻辑,然后在一些统一的入口(比如 api 调用前后,写库前后,接消息前后,数据更新方法前后),统一埋点
|
 |
|
6
Erroad Nov 6, 2024
框架一般做不到。数据操作封装好,用切面输出到 elk/hbase 之类的
|
 |
|
10
chendy Nov 6, 2024
应该是没有的,因为审计涉及到具体的业务,需求和设计天差地别 接触过的项目有这么几种思路: 1. controller 加切面,记录访问路径 + 主要参数 2. service 加切面,记录方法 + 主要参数 3. 监听持久层事件/加持久层拦截器,记录增删改和部分关键数据的查
|
 |
|
11
needkk Nov 6, 2024
我们也有类似的需求 auditlog 这部分可以用 org.audit4j 的包。但是具体的参数传递保存这些还是得自己写切面类
|
 |
|
16
Belmode Nov 6, 2024
这种基本都是手撸的,每家业务需求都不一样。 即使用了这类框架也是很契合,到最后还是得手撸。
|
 |
|
17
kilakilia007 Nov 6, 2024 via Android
看需求,如果只是简单的记录 xxx 用户调用了 xxx 接口可以用切面。复杂的还是乖乖地强耦合吧
|
 |
|
18
xuanbg Nov 6, 2024
我在网关记录接口日志,就是把接口请求数据打出来,基本可以实现按需查询用户操作数据进行追溯。日志平台就是 ELK 很简单。
|
 |
|
19
xuanbg Nov 7, 2024
对了,我还有个关键操作审计的功能。这个就不是简单打日志了。虽然写入是一个公共的日志服务,就是硬编码把业务数据丢进业务日志队列。但审计端是和业务耦合的,不同的业务有不同的数据模版。不然日志内容你是没法看的,因为根本做不到不同的业务数据格式统一。
|
 |
|
21
looveh Nov 7, 2024
看看 jaVers 这个库呢?
|