首页 新闻 会员 周边

操作日志记录问题

0
[已解决问题] 解决于 2013-11-15 16:39

现在想做一个功能来记录后台操作日志,其中要包含操作人,模块,操作行为,ip,还有其他参数...现在问题是后台所有模块是在一个数据表里存放的,怎样才能比较合理的创建日志记录表,尽量要使可维护性比较好,关键部分是模块这个字段的设计,最少要记录到二级模块(例如:会员管理>>会员信息管理),上面还有查询用的模块选择面板,请有兴趣的大侠赐教...

kingboy8808的主页 kingboy8808 | 初学一级 | 园豆:5
提问于:2013-10-29 14:10
< >
分享
最佳答案
0

我的想法是这样子的,将来'模块'要用来查询,你的日志记录表中模块字段可以建立为varchar类型,假设模块数据如下:

|ID |Name     |ParentId|

|1  |会员管理      | 0        |

|2    |会员信息管理|1    |

...

则, 日志记录表中的'模块'字段记录如下(假设当前:会员管理>>会员信息管理):1,2

意思是说,‘模块’这个字段记录模块的编号,编号之间使用逗号分隔。

将来查询时使用like语句 (like '1,2,%') 这是查询会员信息管理下面的操作记录.

奖励园豆:5
袁家小黑球 | 小虾三级 |园豆:1045 | 2013-10-30 10:19

楼主的想法和我一样,只是我用“-”隔开,但是要考虑一个问题,在记录日志的方法中要这样AddLog(“1,2”...)这样才能表示 会员管理>>会员信息管理 但是如果数据库的模块有变动,例如,删除会员管理,然后再加上,这样就会出问题了,要想解决问题,也是需要一个一个方法去修改,这样一来,可维护性就很低了

kingboy8808 | 园豆:5 (初学一级) | 2013-10-30 12:45
其他回答(1)
0

楼主为什么这么想呢?如果您想要动态的

您的addlog(""+模块名+"")这样写不好吗?

那个维护性应该不是这个方法的原因,如果您把那些模块明放在数据库,或者配置文件中也好,

每次addlog()时候的名字调用,这样应该没问题的吧。

seaconch | 园豆:4823 (老鸟四级) | 2013-11-01 13:27

那依楼主的经验是第一种方法比较好呢还是第二种方法好呢?请赐教

支持(0) 反对(0) kingboy8808 | 园豆:5 (初学一级) | 2013-11-03 08:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册