• 日志级别的选择:Debug、Info、Warn、Error还是Fatal


    日志信息分类

    1.等级由低到高:debug<info<warn<Error<Fatal;

    2.区别:

    debug 级别最低,可以随意的使用于任何觉得有利于在调试时更详细的了解系统运行状态的东东;

    info  重要,输出信息:用来反馈系统的当前状态给最终用户的;

    后三个,警告、错误、严重错误,这三者应该都在系统运行时检测到了一个不正常的状态。

    warn, 可修复,系统可继续运行下去;

    Error, 可修复性,但无法确定系统会正常的工作下去;

    Fatal, 相当严重,可以肯定这种错误已经无法修复,并且如果系统继续运行下去的话后果严重。

     3.使用

    什么时候使用 info, warn , error ?

    info 用于打印程序应该出现的正常状态信息, 便于追踪定位;

    warn 表明系统出现轻微的不合理但不影响运行和使用;

    error 表明出现了系统错误和异常,无法正常完成目标操作。

    4.格式

    总结起来, 错误日志格式可以为:

    log.error(“[接口名或操作名] [Some Error Msg] happens. [params] [Probably Because]. [Probably need to do].”);

    log.error(String.format(“[接口名或操作名] [Some Error Msg] happens. [%s]. [Probably Because]. [Probably need to do].”, params));

    log.error(“[Some Error Msg] happens to 错误参数或内容 when [in some condition]. [Probably Because]. [Probably need to do].”);

    log.error(String.format(“[Some Error Msg] happens to %s when [in some condition]. [Probably Because]. [Probably need to do].”, parameters));

    [Probably Reason]. [Probably need to do]. 在某些情况下可以省略; 在一些重要接口和场景下最好能说明一下。

    每一条错误日志都是独立的,尽可能完整、具体、直接说明何种场景下发生了什么错误,由什么原因导致,要采用什么措施或步骤。

    5.意义

    错误日志是排查问题的重要手段之一。 当我们编程实现一项功能时, 通常会考虑可能发生的各种错误及相应原因:

    要排查出相应的原因, 就需要一些关键描述来定位原因。这就会形成三元组:错误现象 -> 错误关键描述 -> 最终的错误原因。

    需要针对每一种错误尽可能提供相应的错误关键描述,从而定位到相应的错误原因。也就是说,编程的时候,要仔细思考, 哪些描述是非常有利于定位错误原因的, 尽可能将这些描述添加到错误日志中。

  • 相关阅读:
    mysql:名次排名 (并列与不并列)
    字节开源go框架
    实时对账
    【转载】Cgroup V2 实现cpu/mem/v2级别隔离
    pyspark判断column是否在list中 isin()
    DDD领域驱动设计
    分享一个有用的项目 lxcfs
    面试_第K问题
    vscode配置c++
    c++可执行文件产生过程
  • 原文地址:https://www.cnblogs.com/alice-fee/p/6214654.html
Copyright © 2020-2023  润新知