log4j日志级别

【日志框架与全局日志管理】1. 日志框架的简介与选型

最后都变了- 提交于 2019-12-26 14:16:49
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、日志框架简介 Spring Boot 默认的日志记录框架使用的是 Logback,此外我们还可以选择 Log4j 和 Log4j2。其中 Log4j 可以认为是一个过时的函数库,已经停止更新,不推荐使用,相比之下,性能和功能也是最差的。logback 虽然是 Spring Boot 默认的,但性能上还是不及 Log4j2,因此,在现阶段,日志记录首选 Log4j2。 当然,在实际项目开发中,我们不会直接调用上面三款日志框架的 API 去记录日志,因为这样如果要切换日志框架的话代码需要修改的地方太多。因此,最佳实践是采用 SLF4J 来进行日志记录,SLF4J 是基于门面模式实现的一个通用日志框架,它本身并没有日志记录的功能,实际的日志记录还是需要依赖 Log4j、logback 或者 Log4j2。使用 SLF4J,可以实现简单快速地替换底层的日志框架而不会导致业务代码需要做相应的修改。SLF4J + Log4j2 是我们推荐的日志记录选型。 在使用 SLF4J 进行日志记录时,通常都需要在每个需要记录日志的类中定义 Logger 变量,如下所示: import org.slf4j.Logger; import org.slf4j.LoggerFactory; @RestController public

一文读懂日志框架之Log4j

醉酒当歌 提交于 2019-12-26 06:55:41
1.日志记录框架 在开发过程中, 测试时需要指导方法调用是否成功, 在项目上线后, 需要知道程序的运行情况, 都需要通过记录日志的形式去查看. 不仅要能够打印在控制台, 还需要记录到指定的日志文件中. 日志文件的后缀一般为.log. 2、常见的日志记录框架 log4j:Apache开源的日志记录框架,可以使用.properties作为配置文件 log4j2:对.properties文件支持不太好,推荐使用.xml作为配置文件。 slf4j:是一种日志记录接口,相当于规范,使用时需要找指定的实现。例如log4j logback:当前比较流行的日志记录框架 commons-logging:Apache提供的工具,通常被别的框架依赖。 3、Log4J的日志记录级别 以下日志级别由高到低。可以通过调整日志级别控制哪些日志可以被打印出来。 FATAL:致命的,不是代码引起的,而是系统故障; ERROR:错误,代码运行发生的错误。 WARN:警告,不会影响到程序运行,但是可能存在风险 INFO:普通消息 DEBUG:调式信息 TRACE:跟踪信息 4、使用 提供配置文件要求必须叫log4j.properties,位置必须放在src目录下。 #设置log4j的根(整体)日志级别,同时指定日志输出的位置:CONSOLE表示控制台,LOGFILE表示日志文件 log4j.rootCategory =

Mybatis基础

无人久伴 提交于 2019-12-25 20:43:08
Mybatis: 是一个支撑框架,它以映射sql语句orm方式来数据库持久化操作. 关于框架: 框架(Framework)是一个框子——指其约束性,也是一个架子——指其支撑性。 IT语境中的框架,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构。在此结构上可以根据具体问题扩展、安插更多的组成部分,从而更迅速和方便地构建完整的解决问题的方案。 开放性问题:没有解决具体问题. 所谓的框架就是提供的一些基础支撑结构,通过这些结构可以解决现实生活中具体点的问题,而在这个过程中必须遵循一定规范. 数据持久化(数据库持久化:把内存中数据保存到数据库中.) 数据持久化就是将内存中的数据模型转换为存储模型。 常见的数据持久有:磁盘持久化和数据库持久化。 数据库持久化是数据持久化的其中一种,就是把内存中的数据保存到数据库中。 #与$区别: (1) $ 取得对象里面的某个属性 比如 ${id} Long getId ${id} # 都可以 (2)重点 #select * from product where productName = ? 预编译的对象 $ select * from product where productName = 罗技G500 拼接字符串方式 # 推荐使用 $ sql注入问题 (3)后面使用$的 orderby+limit 后面就order by age

IDEA 搭建spring+maven+mybatis+mysql+junit+log4j2

一曲冷凌霜 提交于 2019-12-25 03:55:56
https://www.cnblogs.com/toutou/p/ssm_springmvc.html https://www.cnblogs.com/toutou/p/ssm_springmvc.html 码云地址:https://gitee.com/aaronRhythm/callcenter 遇到问题: 1、log4j修改为log4j2时,Mybatis增加如下配置项将SQL输出到日志:<setting name="logImpl" value="LOG4J2"/>,启动TOMCAT失败。   【解决】:可能是Mybatis版本问题,可在POM添加3.3.0的版本:<mybatis.version>3.3.0</mybatis.version> <!-- mybatis核心包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> 2、项目启动日志没打印   【解决】:添加下述配置后,就能在项目启动时加载log4j2 <!--加上下述配置后,就能在项目启动是加载log4j2--> <!-- Log4j2监听器 --> <listener> <listener-class

springboot学习(四) 日志管理

馋奶兔 提交于 2019-12-23 21:43:01
1、简介   Spring Boot内部日志系统使用的是Commons Logging,但开放底层的日志实现。默认为会Java Util Logging, Log4J, Log4J2和Logback提供配置。每种情况下都会预先配置使用控制台输出,也可以使用可选的文件输出。 2、日志格式   默认的日志输出格式为: 1 2018-01-20 19:31:23.317 INFO 93864 --- [ main] TestProperties : Starting TestProperties on ith PID 93864 (started by Administrator in 2 2018-01-20 19:31:23.318 INFO 93864 --- [ main] TestProperties : The following profiles are active: dev 3 2018-01-20 19:31:23.429 INFO 93864 --- [ main] o.s.w.c.s.GenericWebApplicationContext : Refreshing org.springframework.web.context.support.GenericWebApplicationContext@368f2016: startup date [Sat Jan

Spring Boot(十)Logback和Log4j2集成与日志发展史

ぐ巨炮叔叔 提交于 2019-12-23 21:14:14
一、简介 Java知名的日志有很多,比如:JUL、Log4j、JCL、SLF4J、Logback、Log4j2,那么这些日志框架之间有着怎样的关系?诞生的原因又是解决什么问题?下面一起来看。 1.1 JUL Java有自己的日志框架JUL(Java Util Logging)在java.util.logging下,因为对开发者不友好,使用成本太高和日志级别分类不清晰的问题,所有很少有开发者用。 1.2 Log4j 因为JUL的缺陷问题,这就给了Log4j机会,所有Log4j一经推出就迅速风靡全球。 1.3 JCL JCL是Jakarta Commons-Logging的缩写,Jakarta在这里指的是一个组织,而不是印度的首都雅加达,Jakarta,一个早期的Apache开源项目,用于管理各个Java子项目,诸如Tomcat, Ant, Maven, Struts, JMeter, Velocity, JMeter, Commons等。2011年12月,在所有子项目都被迁移为独立项目后,Jakarta名称就不再使用了。 JCL诞生的初衷是因为Java自身的一些包用了JUL,而Log4j用户使用的有很多,那么JCL就是提供一套API来实现不同Logger之间的切换。 1.4 SLF4J SLF4J(Simple Logging Facade For Java)简单日志门面

日志框架--logback

笑着哭i 提交于 2019-12-23 21:13:36
logback背景介绍: SLF4J(Simple Logging Facade for Java)是一个日志API接口,SLF4J提供 TRACE, DEBUG, INFO, WARN, ERROR五种级别,而log4j和logback就是对SLF4J的具体实现。logback的性能优于log4j。 logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能 Maven坐标:logback-classic包含了logback-core,不需要再单独引用了。 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.21</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.7</version> <

[学习随笔]SpringMVC框架集成Log4j日志框架

我的梦境 提交于 2019-12-22 23:16:33
[学习随笔]SpringMVC框架集成Log4j日志框架这里写自定义目录标题 Log4j简介 Log4j依赖添加 Log4j简介 log4j是Apache下的开源项目,主要功能为采集日志信息并输出打印。Log4j主要组件有如下三个。 (1)Logger:记录器,并提供细粒度划分,定义了不同的日志级别。这些日志级别的优先级如下: all<debug<info<warn<error<fatal<off. (2)Appender:Log4j允许把日志输出到不同的地方。Console,Files等。 (3)Layout:格式化日志输出方式 Log4j可以有两种配置方式,XML式或者.properties形式。xml式文件基本配置如下: // An highlighted block < ? xml version = "1.0" encoding = "UTF-8" ? > < Configuration status = "WARN" > < Appenders > < Concole name = "Console" target = "SYSTEM_OUT" > < PatternLayout pattern = "%d{HH:mm:ss:SSS}[%t]%-5level%logger{36}-%msg%n" > < / Console > < / Appenders > <

日志——快速定位问题的主武器

久未见 提交于 2019-12-22 03:09:55
在每个项目中,日志的地位都是举足轻重的,好的日志可以大大提升问题确认的速度,尤其是针对无法断点调试的线上环境。所以好的日志规范是非常必要的。 日志级别 首先不得不说的就是日志的级别,级别的划分主要是为了区分不同目的、不同重要程度的信息,以方便对日志进行过滤。 日志级别由高到底为 ERROR > WARN > INFO > DEBUG > TRACE 。 ERROR 级别的日志用来标注一些影响到当前程序的运行,或者当前接口、请求的运行的异常情况,常见的有 RuntimeException 、第三方接口返回的异常状态码等。 WARN 级别的日志用来标注一些暂时还没有影响程序或请求的运行,但是其本质上是异常的,比如说,代码中尝试打开一个不存在的文件,但是我们做了默认文件的处理不会抛出异常。当我们需要知道,这个文件到底是不是存在的时候,就通过 WARN 级别的日志输出。 INFO 级别的日志用来标注程序运行的一些必要信息,比如业务的数据交换,逻辑步骤等,可以方便开发人员知道程序的运行状态。 DEBUG 级别的日志用来标注和业务相关的更多更详细的信息,比如,每一步的数据变化、调用情况。 TRACE 级别的日志是用来标注系统或者程序底层的状态信息,不会用来标注业务相关的信息,所以一般程序中也是见不到这个级别的日志的。 使用规范 先从日志的实现上来说,常见的日志门面框架就是 slf4j 和

SpringBoot整合日志框架LogBack

别来无恙 提交于 2019-12-22 00:14:12
日志可以记录我们应用程序的运行情况,我们可以通过日志信息去获取应用程序更多的信息。常用处理java日志的组件有:slf4j、log4j、logback、common-logging等。其中log4j是使用得最多的日志组件。 而LogBack是基于Log4j基础上大量改良的一种日志框架,但是它不能单独使用,推荐配合日志框架SLF4J来使用。 LogBack当前分成三个模块:logback-core、logback-classic和logback-access;其中logback-core是其它两个模块的基础,就像spring框架里的spring-core一样。 Logback的核心对象 Logger:日志记录器 Appender:指定日志输出的目的地,目的地可以是控制台,文件 Layout:日志布局,指定日志信息的输出的格式 日志级别 DEBUG INFO WARN ERROR DEBUG < INFO < WARN < ERROR 我们一般不会去选择DEBUG级别,因为DEBUG级别会输出很多信息,包括一些无用的信息。 Log4j转换到LogBack 因为目前使用得最广泛的还是Log4j,要想转换到LogBack,可以使用这个 转换工具 。 比方说我们现在有一个log4j.properties文件。 ### 设置日志记录器### log4j.rootLogger = debug