我的应用程序的环境:基于网络的、Spring MVC+Security、Hibernate、MySQL(InnoDB)
我正在开发一个从web界面操作的小型数据库应用程序。有特定的已知用户处理存储的数据。现在,我需要跟踪用户在数据库上执行的每个创建/更新/删除操作,并从中生成简单的“列表”报告。到目前为止,我正在考虑一个“日志”表(列: userId +时间戳+描述等)。我猜在这个表中插入一个日志行的任何C(R)UD操作都会触发一个方面。但我不确定这是不是应该这样做。
我也知道通常的MySQL日志和log4j。至于日志文件,我可能需要比MySQL可用的更多的信息。Log4j可能是一种解决方案,但我看不出它如何能够写入MySQL表。另外,我希望在我的日志表中保留一些关联(例如用户id),让数据库做基本的过滤等。
你有什么推荐的?Hibernate/Spring中有没有内置的支持,或者log4j是正确的选择吗?
谢谢!
发布于 2009-04-29 21:58:29
发布于 2009-04-29 22:22:43
您是否考虑过使用MappedSuperclass进行C(R)UD操作日志记录?
@MappedSuperclass
public class BaseEntity {
@Basic
@Temporal(TemporalType.TIMESTAMP)
public Date getLastUpdate() { ... }
public String getLastUpdater() { ... }
...
}
@Entity class Order extends BaseEntity {
@Id public Integer getId() { ... }
...
}
发布于 2009-04-29 22:02:00
如果你想要日志记录解决方案,并希望自己动手做,试着搜索JDBCAppender,它不是很完美,但应该可以工作。
如果您想要现成的产品进行集中日志记录-考虑尝试logFaces -它可以直接写入您自己的数据库(披露:我是此产品的作者。)
https://stackoverflow.com/questions/804449
复制相似问题