zoukankan      html  css  js  c++  java
  • 日志等级及使用情形

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

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

    (1)TRACE

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

    (2)DEBUG

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

    (3)INFO

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

    (4)WARNING

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

    (5)ERROR

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

    (6)FATAL

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

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



    日志输出考虑的因素:

    1)输出频率

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

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

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

    2)严重程度

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

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

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

     

    日志信息的内容:

    1)异常、错误信息

    ERROR、WARNING等

    2)调试、跟踪信息

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

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

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

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


    工作笔记:

    1.JSON解析要有try – catch    (fastjson 解析出错会有异常)
    2.网络请求要有URL地址和花费时间LOG
    3.重要函数要有进出LOG
    4.重要函数要有try和花费时间LOG
    5.所有catch到的异常都要有LOG输出
    6.服务入口函数要有总花费时间LOG
    重要:LOG要注意LOG等级,压测、上线、调试分别用不同的日志等级,避免压测时LOG过多导致TPS受影响或线上LOG过多影响响应时间。


    参考博客:

    (1)编程日志的等级划分

    (2)Log日志级别从高到低排序 ERROR、WARN、INFO、DEBUG





  • 相关阅读:
    Android应用查看本地数据库
    C#导出和导入Excel模板功能
    数据库事务的四种隔离模式
    .NET进阶篇-丑话先说,Flag先立--致青春
    博客的第一天:回顾半年前的基础:SQL--基础查询+年月日格式+拼接
    【MySQL】你以为设置了并行复制就降低延迟了?这个你绝对想不到!
    中秋的月亮
    细看国产数据库,从根上知道如何学习?
    开篇2019
    Mysql学习笔记整理之数据库优化
  • 原文地址:https://www.cnblogs.com/betterwgo/p/11855764.html
Copyright © 2011-2022 走看看