首页 新闻 会员 周边

关于日志记录

0
悬赏园豆:100 [已关闭问题] 关闭于 2010-01-22 09:54

管理类网站需要记录操作日志,比如现在需要修改一条记录是否需要记录该条记录的修改前的值?如果需要的话如何有较好的办法记录下来。

loolda的主页 loolda | 初学一级 | 园豆:8
提问于:2010-01-19 11:40
< >
分享
所有回答(3)
0

如果是重要数据的话,需要记录的,

一般可以考虑用数据库触发器。

woody.wu | 园豆:3621 (老鸟四级) | 2010-01-19 11:54
使用数据库触发器无法取得操作人的姓名等信息。
支持(0) 反对(0) loolda | 园豆:8 (初学一级) | 2010-01-19 12:43
0

有几种建议:

1、做sql 镜像,要2005以上,但是2005中的镜像微软不建议用于生产环境

2、在没法操作前先把数据读出出来,然后在写入,这样操作前操作后的数据都可以保存,但效率有影响

3、做高级别的事务回滚,这样并不能记录更改的情况

对于重要数据,建议用对2种方式,做成异步的话对效率影响会小点。

persialee | 园豆:3217 (老鸟四级) | 2010-01-19 12:55
一般你们做系统的时候需要记录被修改数据的原始值吗?
支持(0) 反对(0) loolda | 园豆:8 (初学一级) | 2010-01-19 13:15
0

参考日志表主要字段:

ID,主键

OperateType,操作类型如新增、修改、删除等

OperateContent,操作见容

Operator,操作人

OperateTime,操作时间

OperatorObjectID,操作对象,如产品、企业、人员等

再根据操作对象,建N子表,即原对象表的复印版本,存放每次增删改的内容,字段与原对象表一致。也可以抽象成一个独立的对象表,分别用F1,F2,F30等字段存放。

邀月 | 园豆:25475 (高人七级) | 2010-01-19 13:10
一般你们做系统的时候需要记录被修改数据的原始值吗?
支持(0) 反对(0) loolda | 园豆:8 (初学一级) | 2010-01-19 13:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册