当前位置: 首页 > 知识库问答 >
问题:

logging-debug vs Info-在每个级别包括什么

洪育
2023-03-14

我每节课有一个记录器。

在我的控制器中,我认为在每个操作的开始和结束处都有一个log.debug()行,其中包含所有参数的详细信息和操作结束时的结果(这两者都可以通过actionFilter实现)是有意义的。

那么我应该在信息级别上记录什么呢?(假设调试级别将关闭,直到我需要调试一个问题)。

我是否应该只记录调用了操作,如果操作成功,可能在方法末尾添加一个log.info(),而不记录任何参数或结果?

那么控制器调用的所有方法呢?我想至少在调试级别记录这些方法的输入和输出,所以将这些输入和输出放在这些方法内,而不是放在方法外(即在方法之前和之后)可能是有意义的?(我见过夏普后诊断可以很好地适用于此--以前从未使用过)。

在这些方法中,在开始和结束时也在info级别进行日志记录是否很常见,是否只是记录它被调用了,以及第二个log.info()来指示它已成功完成,还是对于info来说太多了?

关于审计的建议方法是什么?(可能相当客观)。最合适的日志记录级别可能是info,但随后它将与更基本的info日志记录混在一起。如何合理地将两者分开(即,两者都记录在相同的日志级别上,但在日志中保持分开)。我看到NLog具有过滤日志的功能,所以我想我可以在每个log.info()前面加上“audit”,这与审计有关,但这似乎有点脏。

共有1个答案

昌博易
2023-03-14

当然,这是基于意见的,但我遵循以下规则:

  • 信息级别总是启用的,所以记录重要事件,如“发送邮件”、“登录用户”。如果“登录用户”对您的系统不重要,那么我会将其记录为debug。
  • 调试级别仅用于调试问题。在这个级别上,每个方法最多有一条消息。例如。“准备发往foo@bar的邮件”、“检查图像邮件”等
  • 跟踪级别将包含性能测试和/或获取所有详细信息的详细信息。例如,方法名和所有参数。

在这些方法中,在开始和结束时也在信息级别进行日志记录是否很常见,

在我看来只是在痕迹层面。

  • 警告:异常/错误但继续应用程序
  • 错误:异常/错误但不继续应用程序
  • 致命:写入错误日志时出错,需要手动干预的操作。

关于审计的建议方法是什么?(可能相当客观)。最合适的日志记录级别可能是info,但随后它将与更基本的info日志记录混在一起。如何合理地将两者分开(即,两者都记录在相同的日志级别上,但在日志中保持分开)。

创建单独的记录器和规则。例如。

var auditingLogger = LogManager.GetLogger("auditing");
<logger name="auditing" minlevel="Info" writeTo="auditing-file" />
 类似资料:
  • 本文向大家介绍logging level级别介绍,包括了logging level级别介绍的使用技巧和注意事项,需要的朋友参考一下 日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。 1. static Level DEBUG : DEBUG Level指出细粒度信息事件对调试应用程序是非常有帮助的,一般认为比较重要的方法执行需要详细查看运行情况的则开启de

  • org.apache.log4j.Level级别。 您还可以通过对Level类进行子类化来定义自定义级别。 水平 描述 ALL 所有级别包括自定义级别。 DEBUG 指定对调试应用程序最有用的细粒度信息事件。 INFO 指定信息性消息,以粗粒度级别突出显示应用程序的进度。 WARN 指定潜在有害的情况。 ERROR 指定可能仍允许应用程序继续运行的错误事件。 FATAL 指定非常严重的错误事件,可

  • 问题内容: 我正在尝试计算表中的记录,并按日期将它们分组。我当前的查询如下所示: 这行得通,除了我还要数月不存在任何记录的计数。 谁能提供有关如何实现此目标的建议/建议? 问题答案: 在MySQL中执行此操作的最简单方法是创建一个名为的表,该表列出了您感兴趣的所有月份,并在表中使用LEFT JOIN。 但是,由于这主要是一个表示问题,因此通常很容易在您已经在运行的情况下运行查询并在客户端(例如PH

  • 我创建了一个类(正如书中所说)来保存从键盘输入的一个人的姓名和姓氏,然后还有另一个类,它将一个人的国家代码、区号和号码封装为字符串 Person将用作Hashmap中的键 Class封装了和。许多对象组成了一个表示电话簿的HashMap。 实现了

  • 目前,在我的中有一条关于支持库不使用相同版本的警告。 所有com.android.support库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。找到了27.0.1、23.4.0版本。示例包括com.android.support:animated-vector-drawable:27.0.1和com.android.support:cardview-v7:23.4.0 还有一个很好的方

  • 我正在从事一个使用SLF4J+日志返回的项目,我希望找到一种方法,通过使用REST API调用来配置不同作用域的日志级别。调用接收具有作用域(类、包或根路径)和所需日志记录级别的对象。我的项目中具有记录器的每个类都使用静态日志记录程序。