记录用户操作的日志的问题,高手谈谈!!
是个医院管理软件,数据库用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的时候也要写系统操作日志,,不过没你那么全。。。
每次增删改都调用那个插入日志的方法就可以了,,
好像还需要有一个登录主机名
------解决方案--------------------
那个时间最好是取服务器的时间。。。。
------解决方案--------------------做简单点,只要操作人,操作时间,操作内容