论坛首页 Java企业应用论坛

通用操作日志系统设计。一次编写,所有项目共同使用!

浏览 25179 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (6)
作者 正文
   发表时间:2011-08-02  
volking 写道
不行,真正好的日子信息,应该是这样:

某功能,某字段,原值,新值,某人操作,时间,备注...

你这个最多是个玩具


这种日志我之前的实现方式是用aop解决的,拦截hibernate中的update方法,记录某个字段修改前后的值!
0 请登录后投票
   发表时间:2011-08-02  
gaowenming 写道
volking 写道
不行,真正好的日子信息,应该是这样:

某功能,某字段,原值,新值,某人操作,时间,备注...

你这个最多是个玩具


这种日志我之前的实现方式是用aop解决的,拦截hibernate中的update方法,记录某个字段修改前后的值!


如果真的需要记录数据变化,肯定还是trigger最好。对象化的操作可以拦截,如果有程序员就是想改你点东西,传个程序不走aop就完了。

要是全面记录,必然要依靠数据库自己的策略,用trigger让DBA处理。DBA将操作记录后,程序再处理SQL操作记录表。

0 请登录后投票
   发表时间:2011-08-02  
恩,楼上的说的有道理,但是很多小公司都没有dba,很多都是程序员用程序来控制!
0 请登录后投票
   发表时间:2011-08-02  
myreligion 写道
gaowenming 写道
volking 写道
不行,真正好的日子信息,应该是这样:

某功能,某字段,原值,新值,某人操作,时间,备注...

你这个最多是个玩具


这种日志我之前的实现方式是用aop解决的,拦截hibernate中的update方法,记录某个字段修改前后的值!


如果真的需要记录数据变化,肯定还是trigger最好。对象化的操作可以拦截,如果有程序员就是想改你点东西,传个程序不走aop就完了。

要是全面记录,必然要依靠数据库自己的策略,用trigger让DBA处理。DBA将操作记录后,程序再处理SQL操作记录表。



这个是项目管理的问题,code review干啥的
0 请登录后投票
   发表时间:2011-08-02  
SSL,请不再说记录日志用AOP了;
建议通过监听的方式进行记录,在过滤的时候使用正则.
0 请登录后投票
   发表时间:2011-08-03  
cn-done 写道
myreligion 写道
gaowenming 写道
volking 写道
不行,真正好的日子信息,应该是这样:

某功能,某字段,原值,新值,某人操作,时间,备注...

你这个最多是个玩具


这种日志我之前的实现方式是用aop解决的,拦截hibernate中的update方法,记录某个字段修改前后的值!


如果真的需要记录数据变化,肯定还是trigger最好。对象化的操作可以拦截,如果有程序员就是想改你点东西,传个程序不走aop就完了。

要是全面记录,必然要依靠数据库自己的策略,用trigger让DBA处理。DBA将操作记录后,程序再处理SQL操作记录表。



这个是项目管理的问题,code review干啥的

那谁来review reviewer?如果真的有这种sql监控和管制,如对于收费数据库的操作,我觉得应该是单独的团队做的。基于trigger或者基于其他的数据库比对系统,绝不可能指望一个团队既当裁判又当运动员。如果真的有这种需求的话。

gaowenming 写道

恩,楼上的说的有道理,但是很多小公司都没有dba,很多都是程序员用程序来控制!


系统规模不大,估计也不会有这种变态需求了。而且用trigger也不复杂,数据库配一下就行了,几行sql的事情。

0 请登录后投票
   发表时间:2011-08-03  
很无语 为什么你们又回到原点了 难不成你们记录的日志 都是一样格式的么??
0 请登录后投票
   发表时间:2012-02-08  
楼上的人们都没有仔细看过Log4j。
Log4j早就有用jdbc存储到数据库的功能了。
做软件的一个重要原则:DRY (Don't Repeat Yourself).
0 请登录后投票
   发表时间:2012-02-10  
Garfield.Geng 写道
楼上的人们都没有仔细看过Log4j。
Log4j早就有用jdbc存储到数据库的功能了。
做软件的一个重要原则:DRY (Don't Repeat Yourself).

DRY不适合这么理解,更多的是指在项目中不要做一些重复的代码,但并不表示:重新发明轮子也在DRY的覆盖下。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics