审计和logging差异?

我经常碰到这两个词,但是我没有看到这些差别? 我的意思是想知道它们是可以互换使用还是在这两者之间有一些区别? 谢谢。

logging通常意味着logging程序运行时发生的实现级别事件(方法被调用,对象被创build等)。 因此,它把重点放在对程序员感兴趣的事情上

审计是关于logging域级事件:创build交易,用户正在执行操作等。在某些types的应用程序(银行)中,logging此类事件是法定义务。

差别在于使用比在技术上更多。

审计是用来回答“谁做了什么? 也可能是为什么。 日志logging更专注于发生的事情。

有一个技术问题,审计往往有法律上的要求。 另外,审核通常在应用程序中完成 – 例如:有一个用户界面来查看谁更改了什么,因为用户/合规部门可能需要检查它。 此外,审计可能有法律要求(一次写出WORM媒体,所以不能操纵,保存数据x年)。

举个例子:我有一个交易应用程序。 对订单的所有更改都进行审核 – 您可以查看OrderStatus和OrderStatusHistory。 这不是技术性的 – 历史是应用程序界面的一部分。

测井纯粹是技术性的。 有时候closures它是完全可以的,或者让pipe理员必须提取日志文件。

他们有很大的不同 logging只是logging系统中发生的事件的抽象任务。 如果你正在logging任何信息,你正在logging。

但审计更为复杂。 审计是为了validation系统处于理想状态或回答有关系统如何到达特定状态的问题而检查日志的做法。 进行审计的一种方法是审查日志,当然,但是您可以在没有日志的情况下进行审计(作为一个简单的例子,您可以直接询问用户是否对特定更改负责)。 这不是一个好主意,因为伐木通常是一种便宜的操作,所以不需要考虑替代品。

我将审核日志视为业务所需的信息,以确定此用户为此用户在特定date和时间发生的某些操作。 它具有附加的商业价值,它可以让你validation发生了什么。 一般来说审计日志是为了历史和遵从性目的而被存档的

正常logging,logging技术合作伙伴所需的信息,以了解在特定事件期间发生了什么事情或系统如何performance。 它可以包含方法签名,什么值作为input传递,哪些值是作为输出传递的,如果有例外,有关例外的更多信息等等。这些信息不是业务所需要的,可以closures或者是细节根据需要可以减lesslogging。 这些信息基本上帮助开发或支持团队debugging系统。

审计意味着积极审查日志,恕我直言。 不能没有日志logging的审计,但你可以没有审计日志。

审计跟踪是一个不可擦除的事务logging,而另一方面,日志用于检测错误,并且有一定的时间将存在日志文件