1

对于企业应用程序,您是否仅出于审计和调试目的编写事件/审计记录(除了将事务记录写入数据库)?

如果这样做,您是将它们写入平面文件还是直接写入数据库?或两者?你捕捉到什么信息?

4

1 回答 1

4

这完全取决于您的业务需求。有时企业要求记录用户和时间对每个项目的每一次更改。有些人要求记录每次读取的数据。某些应用程序仅在某些数据类型更改时进行记录。这取决于你想要什么。捕获的合理信息是:谁、什么、何时……

审计日志在本质上通常不是技术性的,就像打印语句那样;您不会出于调试目的而从审计日志开始,尽管您可以根据需要使用它们。但是普通的应用程序日志更适合调试问题,因为它们通常包含堆栈跟踪等,而审计日志则没有。

关于数据库或平面文件,这又取决于。写入数据库特别吸引人,尤其是使用 Hibernate/JPA,因为您可以连接到持久层的事件系统以生成审计事件。这是一个非常自然的映射,因为 Hibernate/JPA 有“保存”、“更新”、“删除”等事件,这正是您想要审核的内容。如果要求某些类型的用户能够查看日志信息,那么将数据保存在数据库中也是有益的。此外,大多数企业定期备份他们的日期,这也保留了审计信息。

另一方面,如果您只需要保留记录,则无法超越平面文件日志记录的简单性。

于 2011-09-06T23:50:15.960 回答