log4j日志级别

SpringBoot日志处理之Logback

ε祈祈猫儿з 提交于 2019-12-09 13:26:45
日志处理是一个正式项目必备的功能,日志要能够根据时间、类型等要素,根据指定格式来保存指定的日志,方便我们观察程序运行情况、定位程序bug。 SpringBoot中推荐使用Logback日志框架。 本节示例项目在 https://github.com/laolunsi/spring-boot-examples slf4j:一个针对各类Java日志框架的统一facade抽象。 java常见日志框架:java.util.logging, log4j, logback, commons-logging logback是log4j的作者开发的新一代日志框架,目前应用最广泛。SpringBoot默认使用logback,默认INFO级别 Logback: 日志加载顺序:logback.xml -> application.properties -> logback-spring.xml 一、日志级别 log4j定义的日志级别:debug/info/warn/error/fatal warn,潜在错误;error,错误,可能导致程序退出;fatal,严重错误,程序会退出 还有两个特殊的级别:OFF-最高级别,ALL-最低级别 log4j建议仅使用debug/info/warn/error四个级别 日志级别:ERROR -> WARN -> INFO -> DEBUG 如配置日志级别为INFO

logback模板

爱⌒轻易说出口 提交于 2019-12-09 12:41:28
程序中记录日志一般有两个目的,第一个目的是做故障定位,第二个目的是显示程序运行状态。 好的日志记录方式可以提供给我们足够多的定位问题的依据。 我们这里引用Logback组件进行日志的记录。 Logback的主要模块 - logback-access 这个模块是与service容器集成,提供通过http访问日志的功能。 就是第三方软件可以通过logback-access这个模块来访问到我们的logback里面记录的日志。kibana这些都会用到logback-access这个模块。 - logback-classic 它是log4j的一个改良版本,优化了里面很多功能。同时它完整的实现了slf4j的api,使你可以很方便的更换成其他日志系统。比如log4j,因为logback是由开发log4j的作者开发的。 - logback-core 这个模块为前两个模块提供了基础的服务,它也是logback的主要模块。 Logback的主要标签 只需记住三个标签就ok了 logger logger作为日志的记录器,主要是存放日志对象,也可以定义日志的类型还有级别等。 appender 主要用于指定日志输出的目的地,也就是输出的媒介。我们的媒介可以是控制台,可以是文件,可以是远程套接字服务器等。 layout 它是用来格式化我们的日志信息的输出的。

SpringBoot讲解五:日志组件之Logback和Log4j2

六眼飞鱼酱① 提交于 2019-12-09 12:01:35
日志管理对于初学者来说,不必花太大精力,知道简单实用即可。具体到了项目组会有对日志的精细规则,到那个时候研究也不迟。本章节,会介绍Logback和Log4j2的使用。 Logback SpringBoot 使用了slf4j 日志门面,具体的实现是用logback,而且已经内置了本组件,不需要在pom.xml中添加依赖,如果是初学者,及大部分普通项目,对日志的性能不是很高的话,LogBack都可以满足我们的需求。 我们平时启动SpringBoot时候的日志输出即是Logback组件在工作: 如果我们想自定义输出位置,比如说输出在硬盘上,可以在yml中加入: logging : file : d : //testLog/springboot.log 以上目录、文件名称根据自己需要拟定即可。 如果自己想要输出日志的话,在类中直接使用slf4j日志门面提供的类和方法: //创建logger对象 Logger logger = LoggerFactory . getLogger ( EmployeeController . class ) ; slf4j的好处是规定了日志的接口,我们面向接口编程,不需要了解各个不同的日志组件的api,十分方便。就像JDBC编程,我们只需要知道JDBC提供的接口,而不需要知道Oracle、mysql等不同数据的特有方法。 “如果问题过于复杂,就在上面做一层抽。

Log4j.properties配置详解

大憨熊 提交于 2019-12-08 21:30:30
参考博客 https://www.jianshu.com/p/ccafda45bcea 一、log4j简介 log4j主要有三个重要的组件: Loggers(记录器):日志类别和级别; Appenders(输出源):日志要输出的地方; Layout(布局):日志以何种形式输出。 1、Loggers Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL,分别用来指定这条日志信息的重要程度 Log4j有一个规则:只输出级别不低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFO、WARN、ERROR和FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出。 2、Appenders 禁用和使用日志请求只是Log4j的基本功能,Log4j日志系统还提供许多强大的功能,比如允许把日志输出到不同的地方,如控制台(Console)、文件(Files)等,可以根据天数或者文件大小产生新的文件,可以以流的形式发送到其它地方等等。 常使用的类如下: org.apache.log4j.ConsoleAppender(控制台) org.apache.log4j.FileAppender(文件) org.apache.log4j

log4j升级版日志框架logback的使用以及配置详解

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-07 20:34:25
一、logback的介绍   Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块:   logback-core:其它两个模块的基础模块   logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging   logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能 二、logback取代log4j的理由:   1、更快的实现:Logback的内核重写了,在一些关键执行路径上性能提升10倍以上。而且logback不仅性能提升了,初始化内存加载也更小了。   2、非常充分的测试:Logback经过了几年,数不清小时的测试。Logback的测试完全不同级别的。   3、Logback-classic非常自然实现了SLF4j:Logback-classic实现了SLF4j。在使用SLF4j中,你都感觉不到logback-classic。而且因为logback-classic非常自然地实现了slf4j , 所 以切换到log4j或者其他,非常容易,只需要提供成另一个jar包就OK,根本不需要去动那些通过SLF4JAPI实现的代码。   4、非常充分的文档

xwiki管理指南-日志

我的未来我决定 提交于 2019-12-07 04:52:07
XWiki默认是使用SLF4J和Logback来管理日志。Logback配置文件位于WEB-INF/classes/logback.xml。 XWIki classpath下面第三方包生成的日志通过Logback配置文件的定义可以自动找到自己输出方式。由于原先使用的是Apache Commons Logging(JCL),Log4J作为日志框架,为了与SLF4J共存,通过SLF4J桥接器可以保证,既 log4j-over-slf4j-*.jar和jcl-over-slf4j-*.jar。 默认情况下,XWiki日志只输出到控制台。控制台内容是否被Servlet容器捕获取决于你使用的servlet容器。例如,部署在unix的tomcat能捕获标准输出并把信息输出到tomcat/logs/catalina.out。 配置日志 有多种方法配置日志。 提出以下3种方法中,只有手动的方法是在服务器重新启动后也是持续有效的。所以,如果你的服务器可能会重新启动并且你想要在重启后保留修改的日志配置,唯一的方法是将它们添加到logback.xml。 手动 只需编辑的logback配置文件(logback.xml位于web应用程序WEB-INF/classes文件夹下),然后重新启动Servlet容器使其生效。 使用Log应用程序 XWiki 4.2开始可以在wiki的管理界面使用 Logging

Log4j、Log4j 2、Logback、SFL4J、JUL、JCL的比较

冷暖自知 提交于 2019-12-06 22:12:57
之前就知道有好几种日志框架,但是一直都是听别人讲,在什么时候该用何种logger,哪种logger比较好……一直对 Log4j、Jakarta Commons-Logging、java.util.logging、SLF4J、Logback它们之间的区别已经各自的优势不是很了解,这个周末决 定沉下心来好好研究一下。一下这篇文章,就是我在对比了这几种日志框架之后的一些收获,希望能给大家带来一点收获。 Log4j Log4j = Log for Java. author: Ceki Gülcü license: Apache License V2.0 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、数据库等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。 Log4j有7种不同的log级别,按照等级从低到高依次为:TRACE<DEBUG<INFO<WARN<ERROR<FATAL<OFF。如果配置为OFF级别,表示关闭log。 Log4j支持两种格式的配置文件:properties和xml。包含三个主要的组件:Logger、appender、Layout。 Example for log4j 1.2 <?xml version="1.0" encoding="UTF

SpringBoot2.0学习笔记:(四) Spring Boot的日志详解

耗尽温柔 提交于 2019-12-06 17:54:57
一、日志框架的介绍 市面上有许多的日志框架,比如 JUL( java.util.logging), JCL( Apache Commons Logging), Log4j, Log4j2, Logback、 SLF4j、 jboss-logging等等。 Spring Boot 2.*默认采用了slf4j+logback的形式 ,slf4j是个通用的日志门面,logback就是个具体的日志框架了,我们记录日志的时候采用slf4j的方法去记录日志,底层的实现就是根据引用的不同日志jar去判定了。所以Spring Boot也能自动适配JCL、JUL、Log4J等日志框架,它的内部逻辑就是通过特定的JAR包去适配各个不同的日志框架。 从上图可以看出,Spring Boot通过jul-to-slf4j.jar去适配了JUL日志框架,通过log4j-to-slf4j.jar去适配了log4j日志框架。我们得知道,Spring5.x相对于Spring4.x有个不同的地方就是对底层使用的日志框架有了个大的改变,去除了原来默认使用的JCL 框架,而是采用SLF4j这个通用的日志门面,所以Spring Boot2.x相对于Spring Boot1.x来说去除了对JCL的适配。 SpringBoot能自动适配所有的日志,其底层使用slf4j+logback的方式记录日志,引入其他框架的时候,只需要

SpringBoot 日志框架

浪子不回头ぞ 提交于 2019-12-06 14:25:51
第一部分 脑图 第二部分 知识点总结 (1)市面上的日志框架均采用日志规范(接口)+日志框架(实现类)设计,和JDBC-数据库驱动设计思想相似;使用时只需调用接口API,导入实现类即可 (2)常见日志框架介绍 日志规范——slf4j 日志框架——log4j(旧,已经适配到slf4j)、logback(推荐) 其他日志规范——jcl、Jboss-logging 其他日志框架——jul(java.util.logging)、log4j2、commons-logging Spring默认日志框架是commons-logging、Hibernate默认日志框架是JBoss-logging SpringBoot则选用了slf4j规范+logback日志框架;并通过中间包统一其他日志框架到slf4j规范 SpringBoot在引入其他框架时需要先排除该框架所依赖的日志框架;否则中间包会与引入的日志框架冲突;框架整合时已经帮我们做了 如何让系统中所有的日志框架都统一到slf4j规范: 1,将其他日志框架先排除(maven的exclusion排除) 2,用中间包替换被排除的日志框架 3,导入需要的日志框架,如logback 日志框架切换图: http://www.slf4j.org/manual.html http://www.slf4j.org/legacy.html (3)slf4j

日志(slf4j,log4j)

老子叫甜甜 提交于 2019-12-06 12:32:04
常用的日志框架 Log4j: Log4j2: SLF4J:日志输出接口,底层依赖于其它的日志框架 Logback: Apache Commons Logging:和slf4j类似,是日志输出接口,依赖第三方日志框架 java.util.logging.Logger:JDK自带的日志系统 一般项目中使用slf4j作为日志抽象,这样以后系统替换日志框架的话,只需要替换jar,不需要修改代码。 slf4j slf4j仅仅是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如JDBC一样,只是一种规则而已,所以单独的slf4j是不能工作的, 必须搭配其他具体的日志实现方案,比如log4j或者log4j2 slf4j+log4j 需要的jar:log4j-xxx.jar slf4j-api-xxx.jar slf4j-log4j12-xx.jar(桥接包) log4j的日志输出级别: TRACE > DEBUG > INFO > WARN > ERROR > FATAL 但是注意slf4j没有FATAL等级 package com.basic.work.log; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * Slf4j+log4j 组合 * 需要的jar:log4j-xxx.jar