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的详细信息
明天贴代码
分享到:
相关推荐
"Value-Domain域名映射系统"是一款专为个人和企业设计的高效且用户友好的域名管理系统。该系统的核心功能在于实现快速的域名映射,让用户能够便捷地管理和配置自己的域名,实现个性化设置,并确保解析速度极快。通过...
3. **更新日志**:记录每次版本更新的功能改进和bug修复,方便用户了解最新动态。 4. **示例配置**:提供预设的测试案例,供用户参考和学习。 综上所述,明小子Domain3.5是进行SQL注入测试的重要工具,通过其全面的...
- **Linux**系统日志文件通常位于`/var/log/`目录下,包括系统日志(syslog)、安全日志(auth.log)、错误日志(kern.log)等。 - **Windows Server**的日志文件则位于“事件查看器”中,可以查看系统日志、应用...
9. 日志监控:设置适当的日志记录和监控机制,以便在注入攻击发生时能够及时发现异常行为,从而缩短响应时间。 10. 法律法规遵从性:在处理用户数据时,必须遵守相关的法律法规,如GDPR等,确保数据安全和隐私保护...
可以在httpd.conf文件中设置日志记录,可以使用CustomLog类型,默认为common类型,如果想使用combined类型,可以将CustomLog /yourlogpath/yourlogfile common更改为CustomLog /yourlogpath/yourlogfile combined。...
总结,这篇文章详细介绍了在Android系统中为新服务定义SELinux域的流程,从创建新的策略文件开始,到修改相关配置和编译烧录,直至解决可能出现的权限冲突和日志警告。这样做的目的是为了确保系统服务运行在一个安全...
通过上述详细解析,我们可以看到,OBIEE11g的日志系统覆盖了系统的各个方面,为系统管理员提供了全面的监控视角。无论是组件级别的问题还是系统级的故障,都可以通过查看相应日志来定位原因并采取措施解决。因此,...
1. **操作系统安装路径更改:**将Windows Server 2003的安装路径更改为非默认位置(如D:\Windows),可以避免恶意软件对系统核心文件的直接攻击,提高系统抵御威胁的能力。 2. **磁盘分区策略:**推荐使用RAID 1或...
在压缩包中的"deleted.txt"可能是记录了一些被删除或不再使用的领域模型元素,或者是一个日志文件,记录了模型演进过程中的删除操作。在实际项目中,这样的文件可能包含有价值的历史信息,有助于理解模型的演变历程...
5. **测试与监控**:编写单元测试以确保代码功能正确,同时可以考虑集成日志系统(如Log4j)进行日志记录,以便于监控和排查问题。 6. **部署与运行**:最后,将程序部署在合适的环境,如本地服务器、云服务器或者...
服务在启动后30秒左右执行第一次更新,每次更新会生成对应的log记录在 Log目录下本程序是以服务形式运行,以管理员模式执行install.bat进行服务安装执行,unstall.bat 是卸载服务,安装前请先配置好配置文件。
2. DNS劫持和防劫持策略:防止恶意用户修改DNS记录,导致流量被导向错误的服务器。 3. DNS性能优化:通过负载均衡和缓存策略提高DNS查询效率。 七、配置与管理 配置DNS集成服务系统通常涉及安装DNS服务器软件,创建...
4. **日志和监视**:为了便于维护和调试,WebLogic 提供了丰富的日志记录和监视工具。管理员可以通过这些工具监控服务器的性能指标、错误日志以及其他关键信息。 5. **启动和停止脚本**:每个托管服务器都有一组...
最后,“rockchip-io-domain.txt”可能是文档或日志文件,里面可能包含了关于驱动的使用说明、设计思路、调试技巧或是开发过程中的问题记录。对于开发者来说,这样的文档是理解和修改驱动的重要参考资料。 在实际...
要更改日志格式,我们需要编辑`$CATALINA_HOME/conf/logging.properties`文件,这里`$CATALINA_HOME`是Tomcat的安装目录。将`org.apache.catalina.valves.AccessLogValve`配置改为如下: ```properties org.apache....
在WebLogic的运行过程中,日志系统扮演着至关重要的角色,它记录了服务器的运行状态、错误信息以及诊断数据,帮助管理员监控和调试应用。针对"weblogic 虚幻脚本日志设置"这个主题,我们将深入探讨WebLogic的日志...
RocCms更新日志: 数据缓存机制 邮箱详细内容页列出和此人对话的前10条记录以便查看历史 管理员操作日志功能 首次安装不用进入安装文件,进入首页自动判断 系统设置增加是否启用邮件系统与找回密码的邮件内容...
- **监控与日志记录**:使用内置工具或第三方解决方案来监控服务器状态,记录关键事件以供分析。 #### 结论 Sun Java System Application Server Enterprise Edition 8.1为企业提供了强大的后端支撑,不仅支持复杂...
5. 日志与监控:记录操作日志,以便追踪更改和进行故障排查;同时,可能包含监控功能,对DNS服务的运行状态进行实时监控。 6. 多租户管理:如果系统面向多个用户或组织,可能会有权限控制和多租户管理功能,确保各...