FATAL

用于记录不可恢复的错误,这些日志很少出现,通常是子系统崩溃时的最后一条日志。
例子:

  • 一个损坏的boot环境
  • 对子系统至关重要的硬件损坏
  • 一个很重要的应用/服务或软件组件缺失或意外退出了
  • 应用由于严重错误退出了

    ERROR

    可恢复的错误
    例子:

  • 不是至关重要的服务/应用或软件组件缺失或意外退出了

  • 某个依赖的硬件不可访问
  • 网络连接失败
  • 需要的文件缺失,不可访问或损坏

    WARNING

    如果不能保证行为正确时使用,有一些令人担忧的事情,但不会导致操作终止,可能在未来引起错误。警告可能给一系列的错误提供根源性原因。
    例子:

  • 不好的登录尝试

  • 非预期的数据
  • 从主服务器切换到备份服务器
  • 短暂地丢失了和网络/数据库的连接
  • 资源池里的资源过低
  • 一个不常见但可以接受的超时

    INFO

    应概述主要状态变化,为理解任何警告或错误也提供高级上下文。 它可以用于正常但在某种程度上很重要的运行时事件。
    例子:

  • 关键系统和硬件的启动/停止信息

  • 应用的启动和终止
  • 成功的初始化
  • 一个很长的任务启动和结束
  • 成功完成重大操作
  • 进入或退出应用的关键区域
  • 外部设备的连接/断开(比如USB设备)
  • 已连接的设备断开,但不影响系统稳定性(比如手机)
  • 对于KPI至关重要的信息

    DEBUG

    细粒度的调试级消息。为程序员提供的详细的、有助于诊断的信息,通常仅在调试程序时使用。此日志级别及以下日志级别应仅用于开发和测试,并在生产系统中禁用。
    例子:

  • 函数的入口和出口点

  • 传递的函数参数
  • 关键变量的值、值变化或状态变化,数组dump,可能不完整
  • 返回值
  • 有关接收到的事件的信息
  • 网络连接信息
  • 已连接硬件的调试信息
  • 其他重要信息来重建通过系统的流量

VERBOSE

比DEBUG更细粒度的调试级信息,用于最深的调试信息。
例子:

  • buffer/数组或内存的dump
  • 关于循环和迭代的信息
  • 网络信息的细节
  • 硬件状态的细节