日志等级及使用情形

1. 日志等级及使用情形

在不同的版本中日志的分级也有区别, 下面以日志记录器 Logger 的分类来进行讨论
六个日志等级: TRACE, DEBUG, INFO, WARNING, ERROR, FATAL

还有两个特殊等级 ALL, OFF, 全部日志打开和关闭, 这里不做讨论。

  • TRACE

TRACE 在线调试。
该级别日志, 默认情况下, 既不打印到终端也不输出到文件。此时, 对程序运行效率几乎不产生影响。

  • DEBUG

DEBUG 终端查看、在线调试。
该级别日志, 默认情况下会打印到终端输出, 但是不会归档到日志文件。因此, 一般用于开发者在程序当前启动窗口上, 查看日志流水信息。

  • INFO

INFO 报告程序进度和状态信息。
一般这种信息都是一过性的, 不会大量反复输出。
例如: 连接商用库成功后, 可以打印一条连库成功的信息, 便于跟踪程序进展信息。

  • WARNING

WARNING 警告信息
程序处理中遇到非法数据或者某种可能的错误。
该错误是一过性的、可恢复的, 不会影响程序继续运行, 程序仍处在正常状态。

  • ERROR

ERROR 状态错误
该错误发生后程序仍然可以运行, 但是极有可能运行在某种非正常的状态下, 导致无法完成全部既定的功能。

  • FATAL

FATAL 致命的错误
表明程序遇到了致命的错误, 必须马上终止运行。

Log4j 建议只使用四个级别, 优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。通过在这里定义的级别, 您可以控制到应用程序中相应级别的日志信息的开关。比如配置成了 INFO 级别, 则应用程序中所有 DEBUG 级别的日志信息将不被打印出来, 也是说大于等于的级别的日志才输出。

1.1. 日志输出考虑的因素

1.1.1. 输出频率

对于输出频率高的日志, 一定要用 TRACE 级别, 否则会严重的影响程序效率

TRACE 级别的日志不会输入到日志文件中, 如果该类日志输出频率高, 使用其他级别, 日志文件很快会被写满覆盖。

在 for 循环或者 while 循环中的日志, 一定要使用 TRACE 级别。

1.1.2. 严重程度

执行错误信息: 该情况下书写日志需要用 WARNING 级别及以上的 ERROR、FATAL 日志打印。这类级别的日志会记录到日志文件中, 方便查找问题, 解决问题。

非执行错误信息: 如调试、追踪等日志信息, 一定采用 INFO 级别以下的 DEBUG、TRACE 日志打印 。

INFO 级别只适用于输出频率不高的情况或者需要记录到日志文件中, 便于问题追忆的需求。

1.2. 日志信息的内容

1.2.1. 异常、错误信息

ERROR、WARNING 等

1.2.2. 调试、跟踪信息

函数参数读入、执行步骤、数据流向, 流程跳转、函数返回值

对于错误、异常情况, 应尽量记录尽可能多的"上下文环境"信息。

如果是函数调用失败, 日志中必须包含返回值信息、以及函数调用的相关参数信息。

任何程序在返回错误码前, 一定要通过日志记录具体的错误原因, 并给出尽量多的场景信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云满笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值