转载:日志等级及使用情形 - yeren2046 - 博客园

在不同的版本中日志的分级也有区别,下面以日志记录器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

【转载】日志等级及使用情形相关推荐

  1. log4cplus使用(二)-自定义日志等级

    log4cplus支持用户自定义日志等级,操作也比较简单,使用之前贴如下宏定义 #define LOG4CPLUS_MACRO_CREASH_LOG_LEVEL(pred) LOG4CPLUS_UNL ...

  2. 爬虫开发10.scrapy框架之日志等级和请求传参

    今日概要 日志等级 请求传参 今日详情 一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息. - 日志 ...

  3. scrapy框架的日志等级和请求传参

    Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息.- 日志信息的种类:ERROR : 一般错误WARNI ...

  4. log4j配置详解及日志等级设置

    官方网址: http://logging.apache.org/log4j/1.2/ 参考:http://blog.csdn.net/maxracer/article/details/7920997 ...

  5. logstash 采集syslog过滤日志等级

    度娘老半天没找到一个能正常根据syslog日志等级正常过滤采集的 不了解syslog日志格式的,建议先去以下连接了解以下 syslog日志 数据格式与内容 Syslog-ng与Syslog协议与之数据 ...

  6. 修改spark中显示日志等级

    当我们运行spark-shell或者是开发spark项目时,运行结果总是会伴随很多的日志,影响我们对结果的查看 Using Spark's default log4j profile: org/apa ...

  7. SpringBoot进阶-日志等级配置与操作

    SpringBoot进阶-日志等级配置与操作 一.日志等级 二.设置日志等级 三.打印日志 四.自定义日志格式 五.文件记录日志 一.日志等级 trace:最低等级 debug:调试用,通常用于跟踪程 ...

  8. scrapy log日志重定向,设置全局日志等级

    问题描述: 今天接到运维同事反馈,有个scrapy项目产生了大量日志,占用了100多g内存.查看日志文件发现全是第三方模块的debug信息,而这个第三方模块是直接用的logging. 解决思路: 既然 ...

  9. C语言编写的一个简单通用的日志框架----支持日志等级,日志颜色,打印到文件等设置

    日常工作中常常需要输出日志进行调试,本文提供了一个C语言编写的日志框架.可以输出日志到文件或者是终端,支持日志等级设置,不同日志等级可以设置不同的颜色,另外还可以设置进程名.模块名.函数名等的输出,能 ...

  10. linux 内核日志等级,Linux系统中日志级别详情

    日志信息分类 1.等级由低到高:debug 2.区别: debug 级别最低,可以随意的使用于任何觉得有利于在调试时更详细的了解系统运行状态的东东: info  重要,输出信息:用来反馈系统的当前状态 ...

最新文章

  1. 鼓浪屿天气预报软件测试,厦门鼓浪屿天气预报15天
  2. javascript 函数 add(1)(2)(3)(4)实现无限极累加 —— 一步一步原理解析
  3. [WPF]获取控件间的相对位置
  4. Android延时执行调用的几种方法
  5. python工厂模式看不懂_python模式 工厂模式原理及实例详解
  6. 【BZOJ 1047】[HAOI2007]理想的正方形
  7. EC读书笔记系列之18:条款47、48
  8. 晓莲说-何不原创:如何通过jad把class批量反编译成java文件
  9. 企业文化与“酱油党”
  10. Notepad++ 一键格式化php代码
  11. 单片机八灯交替闪烁c语言代码,单片机闪烁灯汇编语言源代码大全(四款闪烁灯的汇编语言源代码)...
  12. Sql Server 2008 通用语法总结
  13. scratch少儿编程实例教程(模拟动画片项目式教学)——幻影龙动画编程
  14. 天池数据竞赛docker提交操作学习
  15. Word不能编辑文档怎么办,文档修改了不能保存怎么办
  16. 微信,知道你所有的秘密
  17. 2022年全球及中国手持超声设备行业头部企业市场占有率及排名调研报告
  18. Python爬虫爬取酷狗音乐TOP500
  19. Ubuntu/Window下X2Go安装连接同步/上传文件夹(一次性成功)
  20. 【JVM 学习笔记 05】:JVM性能调优工具的使用和优化案例

热门文章

  1. 应届生程序员如何写好一份简历?
  2. [算法设计与分析] 用动态规划法求解资源分配问题 (Java)
  3. 将Android Studio的设置恢复到初始化(清除所有的设置)
  4. 【数学建模】微分方程求解 | dsolve函数 | ode45函数
  5. 层次分析法详解(matlab)
  6. 【久远讲算法】栈——后进先出的数据结构
  7. kali linux 渗透技术学习笔记 2.信息收集——测试网络范围
  8. gitlab太占内存怎么办?一招帮你解决这个问题
  9. [常用办公软件] wps怎么自动生成目录?wps自动生成目录的设置教程
  10. Hello Qt(十六)——QT绘图实例-钟表