日期:2014-05-17  浏览次数:20791 次

记录用户操作的日志的问题,高手谈谈!!
是个医院管理软件,数据库用SQLServer,主体功能已经写好了,现在打算去做用户操作日志这部分的功能,实际上就是在SQLServer中再 建个Log表。

要实现用户操作记录的跟踪。对用户的增、删、改、查进行记录,插入数据库的日志表内。
最笨的做法就是在每一次执行增、删、改、查的时候都手动的调用一次“插入日志”的方法。
这种方法,实现比较简单,但可能会有一些局限,是不是有更好的方法呢?

我大致考虑了下应该有的几个列 如下
HTML code

uid          time                   Module(模块)        功能          sql语句               描述
nameA       2012-2-2 12:12:12       到诊登记           更新         update...        对表xx进行更新操作,id号为199,各字段更新的值为....
nameB       2012-2-2 12:12:13       预约登记           添加 
nameC       2012-2-2 12:12:14       对话量录入         删除
nameD       2012-2-2 12:12:15       竞价录入           添加



想的不全,有这方面经验的人请给予补充!!!

还有个问题,还要记录用户登录系统的时间,是另建一张表合适呢?还是在这个表基础上加个“日志类型”列合适呢?

------解决方案--------------------
在这个表基础上加
------解决方案--------------------
在需要记录的动作里调用一次“插入日志”的方法。
------解决方案--------------------
另建表吧...
------解决方案--------------------
这个看你的结构设计是否很好了。
如果很好,在业务层将对应的动作加依据记录日志的操作就可以了。
------解决方案--------------------
建议另建表,统一保存。
日志的类型最好用CODE,不要用中文,实在要显示时再转换
------解决方案--------------------
记录用户登录系统的时间不用加表,,直接写到日志表里面就可以了。。。描述直接写 某某登录系统,,
我以前做EMR的时候也要写系统操作日志,,不过没你那么全。。。

每次增删改都调用那个插入日志的方法就可以了,,

好像还需要有一个登录主机名
------解决方案--------------------
那个时间最好是取服务器的时间。。。。
------解决方案--------------------
做简单点,只要操作人,操作时间,操作内容