Spring Boot中slf4j日志依赖关系示例详解

 更新时间:2018年11月09日 16:45:36   作者:Genee  
在项目开发中,记录日志是必做的一件事情。而当我们使用Springboot框架时,记录日志就变得极其简单了。下面这篇文章主要给大家介绍了关于Spring Boot中slf4j日志依赖关系的相关资料,需要的朋友可以参考下

前言

SpringBoot底层使用的是slf4j+logback来进行日志记录

把其他common-logging、log4j、java.util.logging转换为slf4j

下面这篇文章主要给大家介绍了关于Spring Boot slf4j日志依赖关系的相关内容,下面话不多说了,来一起看看详细的介绍吧

底层依赖关系

关系如何转化

底层通过偷梁换柱的方法,用jcl、jul、log4j中间转换包进行转化


如果要引入其他框架,必须将其中默认日志依赖剔除

SpringBoot从maven依赖中剔除springframework:spring-core中的common-logging

<dependency>
 <groupId>org.springframework</groupId>
 <artifactId>spring-core</artifactId>
 <version>4.3.20.RELEASE</version>
 <exclusions>
 <exclusion>
  <artifactId>commons-logging</artifactId>
  <groupId>commons-logging</groupId>
 </exclusion>
 </exclusions>
</dependency>

SpringBoot默认日志级别为INFO级别

日志优先级从小到大顺序为:

trace<debug<info<warn<error

package com.example.demo;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {

 Logger log = LoggerFactory.getLogger(getClass());

 @Test
 public void contextLoads() {
  log.trace("trace日志");
  log.debug("debug日志");
  log.info("info日志");
  log.warn("warn日志");
  log.error("error日志");
 }

}

启动运行,控制台打印只打印了info及以上级别

2018-11-09 00:13:36.899  INFO 8156 --- [main] com.example.demo.DemoApplicationTests    : info日志
2018-11-09 00:13:36.900  WARN 8156 --- [main] com.example.demo.DemoApplicationTests    : warn日志
2018-11-09 00:13:36.900 ERROR 8156 --- [main] com.example.demo.DemoApplicationTests    : error日志

日志基础配置

# 指定日志输入级别
logging.level.com.example.demo=trace 

# 指定日志输出位置和日志文件名
logging.file=./log/log.txt

# 指定日志输出路径,若file和path同时配置,则file生效
# 此配置默认生成文件为spring.log
#logging.path=./log

# 控制台日志输出格式
# -5表示从左显示5个字符宽度
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %boldYellow(%thread) | %boldGreen(%logger) | %msg%n

# 文件中输出的格式
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} = [%thread] = %-5level = %logger{50} - %msg%n

总结:

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • 浅析java实现数据加密问题

    浅析java实现数据加密问题

    本文通过实例代码给大家介绍了java实现数据加密问题,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-11-11
  • MybatisPlus中@TableField注解的使用详解

    MybatisPlus中@TableField注解的使用详解

    这篇文章主要介绍了MybatisPlus中@TableField注解的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • SpringBoot如何对LocalDateTime进行格式化并解析

    SpringBoot如何对LocalDateTime进行格式化并解析

    这篇文章主要介绍了SpringBoot如何对LocalDateTime进行格式化方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • IDEA 2021.2 激活教程及启动报错问题解决方法

    IDEA 2021.2 激活教程及启动报错问题解决方法

    这篇文章主要介绍了IDEA 2021.2 启动报错及激活教程,文章开头给大家介绍了idea2021最新激活方法,关于idea2021启动报错的问题小编也给大家介绍的非常详细,需要的朋友可以参考下
    2021-10-10
  • 全局请求添加TraceId轻松看日志

    全局请求添加TraceId轻松看日志

    这篇文章主要为大家介绍了全局请求添加TraceId,更加方便轻松的看日志,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 项目依赖Springboot jar失败解决方案

    项目依赖Springboot jar失败解决方案

    这篇文章主要介绍了项目依赖Springboot jar失败解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Java全面解析IO流相关知识

    Java全面解析IO流相关知识

    这篇文章主要介绍了IO流相关知识,包括File,字节流,字符流,特殊操作流(标准输入流,标准输出流,对象序列化与反序列化,properties与IO流结合)相关知识的总结
    2021-08-08
  • Mybatis-Plus默认主键策略导致自动生成19位长度主键id的坑

    Mybatis-Plus默认主键策略导致自动生成19位长度主键id的坑

    这篇文章主要介绍了Mybatis-Plus默认主键策略导致自动生成19位长度主键id的坑,本文一步步给大家分享解决方法,给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • SpringBoot整合FTP使用示例教程

    SpringBoot整合FTP使用示例教程

    这篇文章主要介绍了SpringBoot整合FTP使用示例教程,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • Java BigDecimal类用法详解

    Java BigDecimal类用法详解

    本文详细讲解了Java BigDecimal类的用法,文中通过示例代码介绍的非常详细。对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12

最新评论