Logging 事件/审计记录中应包含哪些内容?

Logging 事件/审计记录中应包含哪些内容?,logging,java-ee-6,enterprise,records,audit-logging,Logging,Java Ee 6,Enterprise,Records,Audit Logging,对于企业应用程序,您是否仅为审核和调试目的而编写事件/审核记录(除了将事务记录写入数据库) 如果是,您是将它们写入平面文件还是直接写入数据库?或者两者都有?你捕获了什么信息 这完全取决于您的业务需要。有时,企业要求按用户和时间记录每个项目的每一次更改。有些要求记录每次读取的数据。某些应用程序仅在某些数据类型更改时记录。这取决于你想要什么。获取的合理信息是:谁、什么、什么时候 审计日志记录通常不是技术性的,就像打印报表那样;您不会为了调试目的而从审计日志开始,尽管您可以根据需要使用它们。但是普通的

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


如果是,您是将它们写入平面文件还是直接写入数据库?或者两者都有?你捕获了什么信息

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

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

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


另一方面,如果您只需要保留记录,那么您无法打败平面文件日志的简单性。

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

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

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

另一方面,如果您只需要保存一个记录,那么您无法打败平面文件日志记录的简单性