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

用户的操作日志应如何记录?
系统需要对用户的操作进行记录。用户的每一个“增、删、改、查”操作都必须被插入日志表。

请问除了在“增、删、改、查”的“业务SQL”里嵌入“日记记录SQL”外,还有没有别的方法来实现用户操作日志记录?

这么做好像代码冗余很大,而且很烦。是否有类似“拦截器”之类的东西,在更高的层次“监听”用户操作,对用户操作日志的记录在“拦截器”内完成。或者是否有类似的日志记录组件?


PS:是用户操作日志记录,不是系统异常日志记录。

------解决方案--------------------
随便乱说说,我想就会被你以为是什么高明的设计了。其实这个问题下,有经验的设计师都知道这是一个陷阱,如果你不具体深入到所谓用户需求,你就很容易胡乱设计出对一般的软件的性能严重有害的东西。
------解决方案--------------------
我想你应该好好看一下AOP到底指的是什么!!

既然你已经明白系统异常日志记录 怎么做

那么是用户操作日志记录实际是同样原理。 切面编程的切面不止包括异常处理,但凡可以成面状散布在系统的东西,实际都可以这么做,包括权限,包括日志

ps:另外和老p想法一致,这种要求本身带有不合理性,客户实际上并不需要所有操作记录,客户在实际操作中了不起需要一些关键信息的更改记录,如果夸大记录范围,实际上作用并非很大,相反还意味着你必须去做一种信息评价工作,去给客户参考是否有类似“入侵”操作判定,这样无形当中给你的系统“镀了金”,真的需要这样的“镀金”吗?大部分情况下是不需要滴,如果真需要,那实际上是另外一个项目---入侵检测系统了