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