Spring AOP 记录系统日志研究方案

 

一、主要应用要求

记录lis配置模块的历史记录,要求能够准确的记录配置修改前修改后的历史数据,及操作行为。

  • 方案:

Spring 的AOP功能

查询的相关链接:

https://blog.csdn.net/mlc1218559742/article/details/51778224

优点:比较方便,通过自定义注解的方法,把想要记录的内容放在注解中,通过切入点来获取注解参数,就能获取自己想要的数据,记录数据库中。(可以记录,操作人的信息,操作接口的方法,入参,出参等等)

缺点:不太好实现多表操作

  • 日志记录表的设计:

3.1.数据库设计

主日志表SYS_SYSTEMlOG日志表

NO.

字段名

含义

类型

备注说明

表名:SYS_SYSTEMlOG 日志表

1

LOGID

主键LOGID

string

 

2

TABLENAME

操作标明

string

 

3

OPTYPE

操作类型

string

 

4

USERID

操作人id

string

 

5

SUBSYSCODE

子系统代码

string

 

6

HOSPITALCODE

机构代码

string

 

7

HOSPITALNAME

机构名称

string

 

8

LOGCODE

登录账号 001

string

 

9

USERCODE

工号

string

 

10

USERNAME

姓名

string

 

11

DEPTCODE

部门代码

string

 

12

DEPTNAME

部门名称

string

 

13

ip

操作电脑的ip

string

 

14

url

操作的接口地址

string

 

15

Httptype

请求类型

string

Post/get

16

actionmethod

接口方法

string

 

17

params

接口入参数

string

 

18

actiondate

开始时间

string

 

19

returndate

操作接口结束时间

string

 

20

type

 

string

 

21

returndata

返回的出参

string

 

22

modules

模块

string

 

23

description

描述

string

 

24

exceptioncode

异常code

string

 

25

exceptiondetail

异常信息

string

 

 

子日志表SYS_SYSTEMlOG_DETAIL操作日志详情表

NO.

字段名

含义

类型

备注说明

表名:SYS_SYSTEMlOG_DETAIL 操作日志详情表

1

ID

主键id

string

 

2

LOGID

操作日志id

string

SYS_SYSTEMlOG的主键

3

FIELDNAME

字段名称

string

 

4

FIELDDETAIL

字段描述

string

 

5

OLDVALUE

当前字段旧值

string

 

6

NEWVALUE

当前字段新

string

 

 

注:主表和子表的关系是一对多的关系;通过LOGID字段连接。

  • 具体实现:

4.1通过自定义注解,注解到需要aop切入的方法上

 

定义注解:OperationLog,并且定义六个属性

String id();//数据表主键id

String table();//数据表

String[] cloum() default {};//需要记录的字段

OperationType type();//操作类型:ADD 添加,UPDATE修改,DELETE删除

String descrption() default "" ;//描述

String modules() default "";//操作模块

 

 

 

 

 

 

 

4.2定义切面类,获取切面参数,保存数据库具体代码如下:

4.3 日志切入【添加注解标志即可】

删除:

新增:

修改:

4.4 数据库记录数据的效果:

 

 

 

本次在外地出差,无法连接数据库,回头补上数据库的截图。有问题的可以联系我:QQ875491089

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值