`

系统的domain修改记录log

 
阅读更多

1、要求的系统功能

     系统采用spring + hibernate。

     对对象的属性修改进行记录,记录的内容包括:类名、对象ID、修改时间、修改的属性名、修改前的值和修改后的值。

     对新增对象的属性进行记录。记录的内容包括:类名、对象ID、增加时间、属性名、插入的值。

     对删除对象的属性进行记录。记录的内容包括:类名、对象ID、删除时间、属性名、值。

     另外的要求,只对某一些类进行记录。如果有一个类如Order,它有Order Line,那么OrderLine的修改应该归入Order类中。

2、实现:

    a)新建一个接口,Logable,

    b)新建hibernate的监听类,用来监听onSave,onFlushDirty, onDelete, afterTransactionComminted四个方法

    分别用来:取得对象的插入数据、对象的更新数据、对象的删除数据、在成功commit后将写log。(关于这部份的操作,我们让HistoryStorage类来做)

   在spring的配置文件中,关于hibernate的配置中加入这个监听器。

   从spring的源码中,我们可以看到:这个监听器是属于session的,所以不用做异步处理。

   c)我们在HistoryStorage中,都是将属性转化成String格式,然后存储在N个EntityLog类中(有多少个Logable对象进行修改,就有多少个EntityLog)。

   d)写log。要有两个步骤:写数据库和将操作信息写进文件进行存储。

    将EntityLog保存成json的格式。存储的地点根据对应的存储方式来决定。(对象的存储方式在配置文件中设定)

   由存储方式生成存储路径,并将json数据写入之后,将类名、对象ID、操作类型(增删改)和存储路径写入数据库。

  e)读log。有两种方式的读log:读对象的修改统计和某一次修改的具体信息

   读修改统计:从log数据表中读出log信息。

   读一次的具体修改信息:从存储路径读出json数据,转化为EntityLog对象,用户自定义输出格式。

 

这其中,用户可以自定义的地方是:

1、LogWriter/LogReader:getPath和write方法/parsePath和reader方法

2、用户页面如何显示Log的统计和log的详细信息

 

明天贴代码

 

 

 

 

 

分享到:
评论
1 楼 Jerrick 2011-12-01  
说好的代码呢

相关推荐

    value-domain域名映射系统

    "Value-Domain域名映射系统"是一款专为个人和企业设计的高效且用户友好的域名管理系统。该系统的核心功能在于实现快速的域名映射,让用户能够便捷地管理和配置自己的域名,实现个性化设置,并确保解析速度极快。通过...

    明小子Domain3.5

    3. **更新日志**:记录每次版本更新的功能改进和bug修复,方便用户了解最新动态。 4. **示例配置**:提供预设的测试案例,供用户参考和学习。 综上所述,明小子Domain3.5是进行SQL注入测试的重要工具,通过其全面的...

    Domain3.6注入检测

    9. 日志监控:设置适当的日志记录和监控机制,以便在注入攻击发生时能够及时发现异常行为,从而缩短响应时间。 10. 法律法规遵从性:在处理用户数据时,必须遵守相关的法律法规,如GDPR等,确保数据安全和隐私保护...

    awstats分析网站日志

    可以在httpd.conf文件中设置日志记录,可以使用CustomLog类型,默认为common类型,如果想使用combined类型,可以将CustomLog /yourlogpath/yourlogfile common更改为CustomLog /yourlogpath/yourlogfile combined。...

    Domain model manual

    在压缩包中的"deleted.txt"可能是记录了一些被删除或不再使用的领域模型元素,或者是一个日志文件,记录了模型演进过程中的删除操作。在实际项目中,这样的文件可能包含有价值的历史信息,有助于理解模型的演变历程...

    定时修改域名解析记录, 下载后先看说明呀

    5. **测试与监控**:编写单元测试以确保代码功能正确,同时可以考虑集成日志系统(如Log4j)进行日志记录,以便于监控和排查问题。 6. **部署与运行**:最后,将程序部署在合适的环境,如本地服务器、云服务器或者...

    基于安卓Android的图书管理系统

    基于安卓Android的图书管理系统是一种基于Android平台的移动应用程序,旨在实现图书管理的自动化和智能化。该系统主要由客户端和服务器端组成,客户端使用Android操作系统,服务器端使用Windows操作系统,Myclipse和...

    DNS集成服务系统

    2. DNS劫持和防劫持策略:防止恶意用户修改DNS记录,导致流量被导向错误的服务器。 3. DNS性能优化:通过负载均衡和缓存策略提高DNS查询效率。 七、配置与管理 配置DNS集成服务系统通常涉及安装DNS服务器软件,创建...

    rockchip-io-domain.rar_rockchip

    最后,“rockchip-io-domain.txt”可能是文档或日志文件,里面可能包含了关于驱动的使用说明、设计思路、调试技巧或是开发过程中的问题记录。对于开发者来说,这样的文档是理解和修改驱动的重要参考资料。 在实际...

    Linux下配置Tomcat日志分析

    要更改日志格式,我们需要编辑`$CATALINA_HOME/conf/logging.properties`文件,这里`$CATALINA_HOME`是Tomcat的安装目录。将`org.apache.catalina.valves.AccessLogValve`配置改为如下: ```properties org.apache....

    weblogic虚幻脚本日志设置

    在WebLogic的运行过程中,日志系统扮演着至关重要的角色,它记录了服务器的运行状态、错误信息以及诊断数据,帮助管理员监控和调试应用。针对"weblogic 虚幻脚本日志设置"这个主题,我们将深入探讨WebLogic的日志...

    RocCms 乐克内容管理系统 (原RocbySay) v4 SP1.zip

    RocCms更新日志: 数据缓存机制 邮箱详细内容页列出和此人对话的前10条记录以便查看历史 管理员操作日志功能 首次安装不用进入安装文件,进入首页自动判断 系统设置增加是否启用邮件系统与找回密码的邮件内容...

    [主机域名]雨过星晴二级域名系统v1.0_xydns10.zip

    5. 日志与监控:记录操作日志,以便追踪更改和进行故障排查;同时,可能包含监控功能,对DNS服务的运行状态进行实时监控。 6. 多租户管理:如果系统面向多个用户或组织,可能会有权限控制和多租户管理功能,确保各...

    基于Qt框架和Windows系统的DNS修改器.zip

    这个项目是一个使用Qt框架开发的DNS(Domain Name System)修改器,适用于Windows操作系统。Qt是一个跨平台的C++图形用户界面应用程序开发框架,它提供了丰富的库和工具,使得开发者能够创建出美观且功能强大的桌面...

    domain3.2_SQL注入漏洞扫描

    5. 应用程序日志:记录异常查询,以便快速发现潜在的注入尝试。 6. 定期更新和补丁:保持软件和库的最新状态,修复已知的安全漏洞。 总的来说,SQL注入是Web应用安全的重要威胁,理解和掌握其检测和防护手段对于...

    菁菁域名系统 v1.0.zip

    4. **动态更新**:现代DNS系统通常支持动态更新,允许域名记录在不重启服务器的情况下进行修改。 5. **安全设置**:DNSSEC(DNS安全扩展)是一种增强DNS安全性的标准,通过数字签名确保DNS数据未被篡改。软件可能...

    Find Domain Admin

    他们可以执行各种高级任务,如修改域策略、管理用户和组、创建新的域控制器以及处理其他高级系统配置。因此,确保这些账户的安全至关重要,因为它们是抵御潜在攻击的第一道防线。 2. **为什么查找域管理员登录**: ...

    雨过星晴二级域名系统v10_xydns10毕业设计—(包含完整源码可运行).rar

    2. 配置文件:系统可能有配置文件,用于设置监听端口、日志记录、安全策略等,了解并修改这些配置有助于系统定制。 3. 测试与调试:通过单元测试、集成测试等手段,确保系统的稳定性和正确性,源码中可能包含相关...

    主机域名菁菁二级域名系统 v1.0-qqymv1.0

    4. **日志记录与监控**:为了追踪和分析域名使用情况,系统可能会记录域名操作日志,并提供实时监控,以便及时发现并解决问题。 5. **安全保护**:考虑到网络安全,系统可能会包含防止DNS劫持、DDoS攻击等的安全...

Global site tag (gtag.js) - Google Analytics