`

系统的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注入测试的重要工具,通过其全面的...

    应急中的日志收集2020-2-01

    - **Linux**系统日志文件通常位于`/var/log/`目录下,包括系统日志(syslog)、安全日志(auth.log)、错误日志(kern.log)等。 - **Windows Server**的日志文件则位于“事件查看器”中,可以查看系统日志、应用...

    Domain3.6注入检测

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

    awstats分析网站日志

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

    Define a SELinux domain for Service

    总结,这篇文章详细介绍了在Android系统中为新服务定义SELinux域的流程,从创建新的策略文件开始,到修改相关配置和编译烧录,直至解决可能出现的权限冲突和日志警告。这样做的目的是为了确保系统服务运行在一个安全...

    OBIEE11g Log Locations

    通过上述详细解析,我们可以看到,OBIEE11g的日志系统覆盖了系统的各个方面,为系统管理员提供了全面的监控视角。无论是组件级别的问题还是系统级的故障,都可以通过查看相应日志来定位原因并采取措施解决。因此,...

    Windows 2k3 Domain Controller

    1. **操作系统安装路径更改:**将Windows Server 2003的安装路径更改为非默认位置(如D:\Windows),可以避免恶意软件对系统核心文件的直接攻击,提高系统抵御威胁的能力。 2. **磁盘分区策略:**推荐使用RAID 1或...

    Domain model manual

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

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

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

    阿里云域名动态更改服务

    服务在启动后30秒左右执行第一次更新,每次更新会生成对应的log记录在 Log目录下本程序是以服务形式运行,以管理员模式执行install.bat进行服务安装执行,unstall.bat 是卸载服务,安装前请先配置好配置文件。

    DNS集成服务系统

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

    weblogic domain configuration

    4. **日志和监视**:为了便于维护和调试,WebLogic 提供了丰富的日志记录和监视工具。管理员可以通过这些工具监控服务器的性能指标、错误日志以及其他关键信息。 5. **启动和停止脚本**:每个托管服务器都有一组...

    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条记录以便查看历史 管理员操作日志功能 首次安装不用进入安装文件,进入首页自动判断 系统设置增加是否启用邮件系统与找回密码的邮件内容...

    java应用服务器系统企业版8.1管理指南2005

    - **监控与日志记录**:使用内置工具或第三方解决方案来监控服务器状态,记录关键事件以供分析。 #### 结论 Sun Java System Application Server Enterprise Edition 8.1为企业提供了强大的后端支撑,不仅支持复杂...

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

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

Global site tag (gtag.js) - Google Analytics