您现在的位置是:主页 > news > 浑南区建设局网站/网站建设是干嘛的
浑南区建设局网站/网站建设是干嘛的
admin2025/5/1 8:22:32【news】
简介浑南区建设局网站,网站建设是干嘛的,西安建设网站首页,南沙做网站日志管理模块升级方案 1. 背景 由于现阶段的日志管理,记录的数据比较简单,不够具体,不能适应系统日益庞大的需求。需要对此功能进行升级。 希望增加的功能有: l 方便地区分操作类型 l 尽可能详细的记录用…
日志管理模块升级方案
1. 背景
由于现阶段的日志管理,记录的数据比较简单,不够具体,不能适应系统日益庞大的需求。需要对此功能进行升级。
希望增加的功能有:
l 方便地区分操作类型
l 尽可能详细的记录用户的操作
2. 现状
2.1 日志类型
操作类型和查询类型。
2.2 数据存储
数据库。所有类型全放在同一张表中。
2.3 记录方式
登录相应页面,执行相应动作时,简单记录想要的值,写入数据库相应字段。
3. 升级方案
4.1 日志类型
分成三种类型:登录、查询、修改参数和用户管理。
4.2 数据存储
还是采用数据库的存储方式。数据表的结构做了一些调整:
日志表(D_Logs) | ||||||
序号 | 列名 | 数据类型 | 允许空 | 默认值 | 主键 | 说明 |
1 | LogID | int |
|
| √ | 标识(自增) |
2 | UserCode | varchar(50) |
|
|
| 用户代码 |
3 | UserName | varchar(100) |
|
|
| 用户名 |
4 | LoginIP | varchar(20) |
|
|
| 登录IP |
5 | Type | int |
|
|
| 操作类型 |
6 | Operation | varchar(1000) | √ |
|
| 操作内容 |
7 | CreateDate | datetime |
| getdate() |
| 操作时间 |
8 | Remark | varchar(500) | √ |
|
| 备注 |
由于4种类型的操作都记录在同一张表中,加上这4种类型所需要记录的内容各不相同。所以有以上表结构的调整。共同的信息都记录在除Operation字段外的其它字段中。而Operation字段则是用来记录这4种类型具体的操作内容。
为了方便存储和读取,我们采用Json字符串的形式记录具体的操作内容。
Json字符串的形式为:
{“para1”:”value1”, “para2”:”value2”, “para3”:”value3”, “para...n”:”value…n”}
其中:para为参数,value为值。
由此,如果用户进行了一个查询的操作,我们可以记录为:
{“查询类型”:“值”, “查询名称”:“值”, “公司”:“值”,……….}
又如,进行用户管理时:
{“姓名”:“新值”, “状态”:“新值”, “旧角色”:“角色1,角色2”, “新角色”:“角色1,角色2”,……….}
这样,我们就可以记录任意我们想记录的信息了(只要存储字段设得足够大)。
4. 实现方式
4.1 所要做的调整
l 数据库表
l 日志管理底层代码
l 程序中的存取
4.2 程序实现
数据表的调整由于只是修改一下数据结构而已,在此就略过了。主要讲第2,3个调整。
底层代码。主要是一些对日志表所进行的增、删、查、改操作及相应的调用接口。但需要注意的一点是:日志主要是记录事实,所以就不需要修改的操作,加上对Json字符串的修改也需要编写额外的代码。查询方面,我们一般会针对时间,操作类型,用户等进行查询,很少会对具体的操作内容进行查询的。因为对Json字符串进行查询是比较复杂和费时的一项操作来的,所以只需要对除“操作内容”外的其它字段进行查询即可。
存取。存,我们需要按照Json字符串的格式拼接字符串,然后调用底层的插入数据接口,将数据存入数据表中的Operation字段即可。取,我们可以将Json字符串的键值以表格的形式显示出来即可。