对于企业应用程序,您是否仅出于审计和调试目的编写事件/审计记录(除了将事务记录写入数据库之外)?
如果您这样做了,您是将它们写入平面文件还是直接写入DB?还是两者都有?您会捕获哪些信息?
发布于 2011-09-07 07:50:16
这完全取决于您的业务需求。有时,企业要求按用户和时间记录每一项上的每一次更改。有些则要求记录数据的每一次读取。某些应用程序仅在某些数据类型发生更改时进行记录。这取决于你想要什么。捕获的合理信息是:谁,什么,什么时候……
审计日志在本质上通常不是技术性的,就像打印语句一样;您不会为了调试目的而从审计日志开始,尽管您可以根据需要使用它们。但是普通的应用程序日志更适合于调试问题,因为它们通常包含堆栈跟踪和诸如此类的内容,而审计日志则不适用。
关于DB或平面文件,同样,这取决于。写入数据库非常吸引人,特别是在使用Hibernate/JPA时,因为您可以挂钩到持久层的事件系统来生成审计事件。这是一个非常自然的映射,因为Hibernate/JPA有'save','update','delete‘等事件,这正是你想要审计的。如果要求某些类型的用户能够查看日志信息,那么将数据放在数据库中也是有益的。此外,大多数企业定期备份日期,这也保留了审计信息。
另一方面,如果您只需要保留一条记录,那么您将无法超越平面文件日志记录的简单性。
https://stackoverflow.com/questions/7327388
复制相似问题