在SpringBoot中使用slf4j与logbak

x33g5p2x  于2022-02-07 转载在 Spring  
字(1.8k)|赞(0)|评价(0)|浏览(538)
本次开发环境为:
系统:Windows 10
JDK:1.8
开发工具:IntelliJ IDEA
springboot框架:2.X.X

日志设置参考官方文档https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-logging

在之前的文章中我们发现,日志打印可读性越来越差,本篇我们将对其日志进行设置,在SpringBoot中默认采用的是slf4j日志框架,底层默认使用logback,至此我们开始进行对其配置优化。

直接上干货,不多废话,相关问题欢迎在评论区指教。

1、引入日志配置包

<!-- 自动化构建工作包 -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

2、在idea中安装lombok插件

启用注释处理

2、更改类中日志使用方式,采用注解引用方式。

@Slf4j
public class XssConfig {
 
    //private Logger log = LoggerFactory.getLogger(XssConfig.class);

3、运行测试日志是否打印正常
访问地址依旧延续使用上一篇:http://127.0.0.1:8081/hello?name=cnHuaShao

日志打印正常,引用方式更换完毕,lombok还有很多强大的功能,后续我们会在各个教程中逐渐用到。4、开始进行日志配置文件,这里我们有两种配置方式,可以直接在application.yml中,也可单独使用logback-spring.xml进行配置,我直接采用的是logback-spring.xml,下面开始配置,首先在application.yml中配置引用的配置文件位置

#日志配置
logging:
  level:
    root: debug
  config: classpath:log/logback-spring.xml

5、在resources中创建log包,在其中创建文件logback-spring.xml文件

6、开始进行编写logback-spring.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 打印到控制台配置 -->
    <appender name="consoleOutput" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 设置打印级别 -->
        <filter  class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>info</level>
        </filter>
        <withJansi>true</withJansi>
        <!-- 设置打印格式,设置字符集 -->
        <!--格式化输出:%d:表示日期    %thread:表示线程名     %-5level:级别从左显示5个字符宽度  %msg:日志消息    %n:是换行符-->
        <encoder>
            <pattern>%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger) - %cyan(%msg%n)</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>
 
    <root level="INFO">
        <appender-ref ref="consoleOutput"/>
    </root>
 
</configuration>

相关文章