69

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

4

9 回答 9

93

日志记录通常意味着记录程序运行时发生的实现级别事件(调用方法、创建对象等)。因此,它专注于程序员感兴趣的事情

审计是关于记录域级事件:创建事务、用户执行操作等。在某些类型的应用程序(银行)中,有记录此类事件的法律义务。

于 2010-03-22T13:10:48.437 回答
36

区别在于使用而不是技术。

审计用于回答“谁做了什么?”这个问题。可能是为什么。日志记录更关注正在发生的事情。

于 2010-03-22T13:08:46.383 回答
11

存在一个技术问题,即审计通常具有法律要求。此外,审核通常在应用程序内完成,例如:有一个用户界面可以查看谁更改了什么,因为用户/合规部门可能需要检查它。此外,审计可能有法律要求(一次写入 WORM 媒体,使其无法被操纵,将数据保留 x 年)。

一个例子:我有一个交易应用程序。对订单的所有更改都经过审核 - 您拥有 OrderStatus 和 OrderStatusHistory。这不是技术性的——历史是应用程序界面的一部分。

日志记录纯粹是技术性的。有时将其关闭或让管理员提取日志文件是完全可以的。

于 2010-03-22T13:13:18.057 回答
6

它们明显不同。日志记录只是记录有关系统中发生的事件的数据的抽象任务。如果您正在记录任何信息,那么您正在记录。

然而,审计更为复杂。审计是检查日志以验证系统是否处于理想状态或回答有关系统如何到达特定状态的问题的实践。进行审核的一种方法当然是查看日志,但您可以在没有日志的情况下进行审核(作为一个简单的示例,您可以直接询问用户是否对特定更改负责)。这不是一个好主意,因为日志记录通常是一种廉价的操作,不需要考虑替代方案。

于 2010-03-22T13:12:31.803 回答
5

我将审核日志视为业务所需的信息,以确定该用户在特定日期和时间对该用户执行的某些操作。它具有附加的业务价值,可以让您验证发生了什么。通常,出于历史和合规目的而归档审计日志。

另一方面,正常日志记录技术合作伙伴所需的信息,以了解发生的事情或系统在特定事件期间的行为方式。它可以包含方法签名,哪些值作为输入传递,哪些值作为输出传递,如果有异常,有关异常的更多信息等。这些信息不是业务需要的,可以关闭或可以根据需要减少记录的详细信息。这些信息基本上可以帮助开发或支持团队调试系统。

于 2010-03-22T13:23:11.187 回答
2

日志记录是跟踪哪个类中哪个方法调用的流程让我们有A,B,C方法和不同的类在X类中,A类方法被Y类B方法调用,B方法被Y类c方法调用..像这样追踪控制流

审计将跟踪用户的活动。我们必须编写逻辑,然后系统会自动将数据插入/保存到审计表中。

让我们以 login.jsp 为例,我们可以输入用户名和密码,然后点击登录页面,然后控制进入逻辑 servlet 页面,里面的服务方法将被调用并在里面写下这样的逻辑

httpsession session=reg.getsession();
session.setAttribute("userId",uid);

即在数据库中,我们将列作为

created_by 
created_date
last_modified_by
last_modified_dt
于 2018-06-05T17:14:24.723 回答
2

审计

  • 业务级事件
  • 给用户和客户的信息
  • 谁做了什么,什么时候
  • 通常法律要求或客户合同要求
  • 通常无限期保存或至少在法律规定的期限内保存

例子:

2021-01-01T08:45:21 用户 4711 访问记录 0815
2021-02-02T12:13:45 收到带有 guid f456-87D2-... 的新发票

日志记录

  • 程序级事件
  • 面向开发人员和支持的信息
  • 发生了什么,包括调试信息
  • 需要用于维护或调试目的
  • 经常在短时间内删除

例子:

2021-01-01T08:45:21 方法 Foo.Bar() 将 46kb 的请求发送到 https://... 2021-02-02T12
:13:45 在服务器 server01.mydomain 上启动 id 为 4711 的侦听器

于 2021-08-25T09:55:19.803 回答
1

审计意味着积极审查日志记录,恕我直言。没有日志就不能进行审计,但是你可以在没有审计的情况下进行日志。

于 2010-03-22T13:08:42.493 回答
-1

审计跟踪是事务的不朽记录,而日志则用于检测错误,并且有一定的时间会存在日志文件

于 2014-01-09T12:37:29.633 回答