日志打印的8种级别(很详细)

日志打印的8种级别(很详细)

日志的输出都是分级别的,不同的设置不同的场合打印不同的日志。下面拿最普遍用的Log4j日志框架来做个日志级别的说明,其他大同小异。

Log4j的级别类org.apache.log4j.Level里面定义了日志级别,日志输出优先级由高到底分别为以下8种。

在这里插入图片描述
日志级别 | 描述 —|--- OFF | 关闭:最高级别,不打印日志。 FATAL | 致命:指明非常严重的可能会导致应用终止执行错误事件。 ERROR | 错误:指明错误事件,但应用可能还能继续运行。 WARN | 警告:指明可能潜在的危险状况。 INFO | 信息:指明描述信息,从粗粒度上描述了应用运行过程。 DEBUG | 调试:指明细致的事件信息,对调试应用最有用。 TRACE | 跟踪:指明程序运行轨迹,比DEBUG级别的粒度更细。 ALL | 所有:所有日志级别,包括定制级别。

所以,日志优先级别标准顺序为:

ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF

如果日志设置为L,一个级别为P的输出日志只有当P >= L时日志才会输出。

即如果日志级别L设置INFO,只有P的输出级别为INFO、WARN,后面的日志才会正常输出。

具体的输出关系可以参考下图:
在这里插入图片描述

JAVA 日志级别

log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。

ALL:最低等级的,用于打开所有日志记录。

TRACE: designates finer-grained informational events than the DEBUG.Since:1.2.12,很低的日志级别,一般不会使用。

DEBUG: 指出细粒度信息事件对调试应用程序是非常有帮助的,主要用于开发过程中打印一些运行信息。

INFO: 消息在粗粒度级别上突出强调应用程序的运行过程。打印一些你感兴趣的或者重要的信息,这个可以用于生产环境中输出程序运行的一些重要信息,但是不能滥用,避免打印     过多的日志。

WARN: 表明会出现潜在错误的情形,有些信息不是错误信息,但是也要给程序员的一些提示。

ERROR: 指出虽然发生错误事件,但仍然不影响系统的继续运行。打印错误和异常信息,如果不想输出太多的日志,可以使用这个级别。

FATAL: 指出每个严重的错误事件将会导致应用程序的退出。这个级别比较高了。重大错误,这种级别你可以直接停止程序了。

OFF: 最高等级的,用于关闭所有日志记录。

如果将log level设置在某一个级别上,那么比此级别优先级高的log都能打印出来。例如,如果设置优先级为WARN,那么OFF、FATAL、ERROR、WARN 4个级别的log能正常 输出,而INFO、DEBUG、TRACE、 ALL级别的log则会被忽略。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。

从我们实验的结果可以看出,log4j默认的优先级为ERROR或者WARN(实际上是ERROR)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python格式字符_python格式字符

用python实现接口测试(八、实现序列化与反序列化)前言在python中&#xff0c;序列化可以理解为&#xff1a;把python的对象编码转换为json格式的字符串&#xff0c;反序列化可以理解为&#xff1a;把json格式字符串解码为python数据对象。一、字典&#xff0c;通过json把它序列…

CountDownLatch 介绍与举例实现

文章目录概述主要方法举例实现概述 CountDownLatch 是 JUC 包下的一个重要的并发工具&#xff0c;它是一个线程协同作业的工具&#xff0c;使某些线程一直处于等待状态&#xff0c;直到另外的线程完成任务后再执行。 主要方法 CountDownLatch 主要靠内部的一个计数器来实现同…

identity_insert 如何改为on_十分钟教你如何快速提高Laya构建速度,还不快来康康?...

前言如何快速提高Laya构建速度 微信小游戏推出之后&#xff0c;很多公司也相应的进入到微信小游戏这个领域&#xff0c;现在市场上的游戏开发引擎&#xff0c;如Cocos、Egret、Laya都对小游戏有了很好的兼容性。而在实际开发中&#xff0c;如何提高Laya的构建速度&#xff0c;是…

mysql数据库中数据类型的长度

mysql数据库中数据类型的长度 在mysql中新建数据表的时候会有长度一说&#xff0c;其实用建表语句建数据表的时候也有涉及 例如&#xff1a; CREATE TABLE user( uid int(4), name varchar(255), passward varchar(20) birthday data ) 不知道你有没有注意这个数据类型…

Iterator 和 ListIterator 的区别

概述 Iterator 和 ListIterator 都是迭代器&#xff0c;都可以用来遍历 List&#xff0c;ListIterator 还继承自 Iterator。 区别 Iterator 只能用于顺序遍历&#xff0c;且只能删除元素ListIterator 可以顺序或者反序遍历ListIterator 可以增加&#xff08;add(E e) 方法&a…

二下语文书电子课本_小学生语文成绩好,不是靠补课,把课本吃透,才是高效学习方法...

关注语文教学发展&#xff0c;解决语文学习困惑。对于基础差、语文学习能力差的同学&#xff0c;我不建议去补课。但是家长说&#xff0c;不补课怎么办呢&#xff1f;我们也没有时间和耐心去给孩子辅导&#xff0c;又怕讲错了&#xff0c;还是让老师讲好。尽管家长们有这个意识…

Java面试——MyBatis系列总结

文章目录&#xff1a; 1.MyBatis是什么&#xff1f; 2.JDBC编程有哪些缺陷&#xff1f;MyBatis又是如何改进的&#xff1f; 3.MyBatis与Hibernate的区别在哪&#xff1f; 4.MyBatis的优缺点 5.请说说MyBatis的工作原理 6.MyBatis的架构设计是怎样的&#xff1f; 7.#{}和…

包装类型与基本类型的装箱与拆箱操作

文章目录概述Boolean 与 booleanCharacter 与 charByte 与 byteShort 与 shortInteger 与 intFloat 与 floatDouble 与 doubleLong 与 long总结概述 基本类型与包装类型&#xff0c;存在相互转化的关系。 基本类型转为包装类型这个过程&#xff0c;被称之为装箱包装类型转为基…

机器人炒饭小块头一一_小块头机器人炒饭:全智能流程,炒饭芬芳独具

在我的生活里&#xff0c;没有什么不开心的事情是一顿炒饭解决不了的&#xff0c;实在不行就两顿。把前一天剩出来的隔夜饭放到锅里和家里的食材进行组合、翻炒&#xff0c;就可以千变万化&#xff0c;方便好吃又管饱。小块头茶油炒饭&#xff0c;是一份易拉罐材质独立包装的炒…

Java面试——Spring系列总结

文章目录&#xff1a; 1.什么是Spring&#xff1f; 2.Spring由哪些模块组成&#xff1f; 3.Spring中都用到了哪些设计模式&#xff1f; 4.什么是Spring IOC容器&#xff1f;有什么作用&#xff1f; 5.Spring IoC的实现机制 6.BeanFactory 和 ApplicationContext有什么区别…

gateway 过滤器执行顺序_spring boot gateway 过滤器的执行顺序

前言学习官方文档&#xff0c;发现对于过滤器有分为三类默认过滤器自定义过滤全局过滤器于是就有一个疑问&#xff0c;关于这些过滤器的访问顺序是怎样的&#xff0c;今天就以一个demo来进行测试准备阶段过滤器工厂类以此为模板&#xff0c;复制出几份就可以了&#xff0c;注意…

Java 线程状态流转

Java 线程一共有 6 种状态&#xff1a; NEW&#xff1a;新建状态&#xff0c;当一个线程被创建完成&#xff0c;还没有调用 start() 方法时&#xff0c;是这种状态。RUNNABLE&#xff1a;可运行状态&#xff0c;当一个线程正在正常地执行 run() 中的代码时&#xff0c;是这种状…

达梦数据库导入oracle数据_达梦数据库和oracle数据的一些区别

近期我在考达梦的dca发现有一些和oracle不同的地方&#xff0c;由于我是oracleDBA在维护达梦数据库的时候有需要注意的地方&#xff0c;现在分享一下2个数据库的一些区别。1、登陆的区别oracle:如果sys的密码忘记可以用操作系统验证方式登陆修改密码。dm:达梦数据库如果忘记了s…

Fail-fast 和 Fail-safe 机制

fail-fast 和 fail-safe 的区别 从字面意思来看 fail-fast 是快速失败&#xff0c;fail-safe 是安全失败&#xff0c;这都是集合类对于并发读写时的一种应对机制。 fail-fast&#xff0c;广泛应用于 java.util 下的集合类中&#xff0c;其机制为在使用迭代器遍历的过程中&…

【java8新特性】——lambda表达式与函数式接口详解(一)

一、简介 java8于2014年发布&#xff0c;相比于java7&#xff0c;java8新增了非常多的特性&#xff0c;如lambda表达式、函数式接口、方法引用、默认方法、新工具&#xff08;编译工具&#xff09;、Stream API、Date Time API、Optional等 。 当前很多公司的老产品依然使用的…

详解 ConcurrentHashMap

文章目录ConcurrentHashMap 的底层数据结构?ConcurrentHashMap 的带参构造方法的流程&#xff1f;ConcurrentHashMap 的 put 方法的流程?ConcurrentHashMap addCount 方法的流程是怎样的呢&#xff1f;ConcurrentHashMap transfer 方法的流程是怎样的呢&#xff1f;Concurren…

js 二叉树图形_js数据结构和算法(三)二叉树

二叉树的概念二叉树(Binary Tree)是n(n>0)个结点的有限集合&#xff0c;该集合或者为空集(空二叉树)&#xff0c;或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。二叉树的特点每个结点最多有两棵子树&#xff0c;所以二叉树中不存在度大于…

【java8新特性】——Stream API详解(二)

一、简介 java8新添加了一个特性&#xff1a;流Stream。Stream让开发者能够以一种声明的方式处理数据源&#xff08;集合、数组等&#xff09;&#xff0c;它专注于对数据源进行各种高效的聚合操作&#xff08;aggregate operation&#xff09;和大批量数据操作 (bulk data op…

Spring bean 不被 GC 的真正原因

概述 自从开始接触 Spring 之后&#xff0c;一直以来都在思考一个问题&#xff0c;在 Spring 应用的运行过程中&#xff0c;为什么这些 bean 不会被回收&#xff1f; 今天深入探究了这个问题之后&#xff0c;才有了答案。 思考点 大家都知道&#xff0c;一个 bean 会不会被回…

ad域时间源配置_域控制器server2012时间同步NTP配置

一、域控配置1.修改注册表&#xff0c;设置域控服务器名称2.设置组策略&#xff0c;启动NTP服务器3.域策略中设置windows time服务自动启动二、服务端配置(Ntp服务器&#xff0c;客户端将根据这台服务器的时间进行同步)1、微软键R键&#xff0c;进入“运行”&#xff0c;输入“…