系统操作日志功能是一个管理系统的灵魂之一,关系到整个项目的成败,所有设计显得非常重要了。
相当完美的系统日志功能设计思路及可实现效果。
一,系统日志要求:记录所有的 新增数据记录。记录所有的字段修改记录,记录所有的删除数据记录,记录所有的审核记录,记录所有的取消审核记录。
二、具体的数据记录字段有:事件(增加数据,修改数据,删除数据,审核数据,取消审核),操作人,操作机器,操作时间,可见表内所有字段内容,非可见字段所有内容。
三、任何一个表单均可以查询与本表单有关的日志数据。
具体设计思路:
1,设计 三个函数
2,在需要记录日志的窗口中加入 函数代码,在相应的事件里记录日志。
3,由于所有的人所有的操作都在数据库日志中均有记录,将导致该日志数据表数据成长非常快,为不影响该系统主数据库数据管理的效率。对日志表数据进行以下优化。
3.1在数据库中另建立一个数据库B,该库中只放一个表,该表与系统数据库A中的表的结构一样。
3.2在数据库系统中建立一个 计划任务每天晚上将A表的日志记录自动复制到B表中去,并删除掉A表中的相应记录.
3.3在数据库A中建立一个视图. 该视图跨数据库合并A数据库与B数据库中的操作日志表. (方便历史数据查询,不用在FT中合并两数据源中的数据了).
4,设计日志查询窗口.
此主题相关图片如下:日志2.png
此主题相关图片如下:日志3.png
5,使用华软联动公开源代码中的 万能SQL查询窗口做查询输出 .
6,在所有的需查询的窗口中插入一个按钮. 打开SQL万能查询窗口,显示该条主表或明细表记录的所有日志内容.
(参数中可以指定 需要显示为日期时间型 的列)
此主题相关图片如下:日志1.png
本例设计思想也可应用于其它数据查询场合. 此方案与 自动网络编码函数,临时编码函数,清除垃圾数据函数,打包出售.
需要导入系统的可以联系QQ:360255560 可承接函数,模块辅导,设计制作,优化功能项目
全表日志查询(按主表单号等查询)
此主题相关图片如下:表.jpg
按按明细表行数据查询日志
此主题相关图片如下:行.jpg
按明细表列数据查询日志
此主题相关图片如下:列日志.png
按明细表 行列对应的字段级 精准日志查询
此主题相关图片如下:字段日志.png
以上构成 表,行,列,行列对应字段级 全方位全覆盖的日志查询功能。想怎么查就怎么查
要一个复杂还是一个简单的日志功能,自己取舍。
但客户的要求永远排在第一位。
客户的需求是个潘多拉盒子,有时你提供了一个功能,他会马上要其它几个功能。如果你一个也不提供,他可能就没有要求了……
这种设计思路 大家可以借鉴,用到了跨库操作,跨库分担巨量的日志数据,实现了直接跨库查询
多年的梦想终于实现了,数据跟踪到极致,所有的修改均能查询了,且不用担心数据库容量大小的问题。
继续做下去,可以实现根据日志数据库,进行反向操作,从而根据该记录恢复数据到指定时间节点,但项目时间不允许就不做了,其实做到这一步也就可以了,配合数据库备份,少量误操作数据,根据日志记录很方便手工重建或恢复了。
如果你有更好的设计思路我们来PK,或者我们来交换方案。
[此贴子已经被作者于2016/3/1 10:15:57编辑过]