八、在SpringBoot中使用slf4j与logbak

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 在SpringBoot中使用slf4j与logbak
本次开发环境为:
系统: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>
AI 代码解读

2、在idea中安装lombok插件
image.png

启用注释处理
image.png

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

@Slf4j
public class XssConfig {

    //private Logger log = LoggerFactory.getLogger(XssConfig.class);
AI 代码解读

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

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

#日志配置
logging:
  level:
    root: debug
  config: classpath:log/logback-spring.xml
AI 代码解读

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

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>
AI 代码解读
代码示例

本文的相关例子可以查看仓库中的RapidDevelopment-demo3目录:
Gitee 地址

如果您觉得本文不错,欢迎Star支持

本文声明:

5330898-d1c72b6c90e378f3.png

知识共享许可协议
本作品由 [cn華少] 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
打赏
0
0
0
0
19
分享
相关文章
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
90 1
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——使用Logger在项目中打印日志
本文介绍了如何在项目中使用Logger打印日志。通过SLF4J和Logback,可设置不同日志级别(如DEBUG、INFO、WARN、ERROR)并支持占位符输出动态信息。示例代码展示了日志在控制器中的应用,说明了日志配置对问题排查的重要性。附课程源码下载链接供实践参考。
53 0
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
50 0
|
17天前
|
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——slf4j 介绍
在软件开发中,`System.out.println()`常被用于打印信息,但大量使用会增加资源消耗。实际项目推荐使用slf4j结合logback输出日志,效率更高。Slf4j(Simple Logging Facade for Java)是一个日志门面,允许开发者通过统一方式记录日志,无需关心具体日志系统。它支持灵活切换日志实现(如log4j或logback),且具备简洁占位符和日志级别判断等优势。阿里巴巴《Java开发手册》强制要求使用slf4j,以保证日志处理方式的统一性和维护性。使用时只需通过`LoggerFactory`创建日志实例即可。
32 0
Spring Boot使用slf4j进行日志记录
本节课主要对 slf4j 做了一个简单的介绍,并且对 Spring Boot 中如何使用 slf4j 输出日志做了详细的说明,着重分析了 logback.xml 文件中对日志相关信息的配置,包括日志的不同级别...
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
386 0
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
SpringBoot中使用SLE4J日志框架启动报错:SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinde
SpringBoot中使用SLE4J日志框架启动报错:SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinde
594 1
SpringBoot集成slf4j日志系统
日志系统作为一个应用系统的重要部分之一,它能够有助于我们在系统在线上环境中如果有问题,及时发现问题,并且定位问题,从而解决问题,保证服务的高可用,减少生产事故的发生。所以日志的重要性,不言而喻。
596 0
SpringBoot集成slf4j日志系统
学习创建Maven,SpringBoot聚合项目及使用SLF4j打印日志(3)
学习创建Maven,SpringBoot聚合项目及使用SLF4j打印日志
193 0
学习创建Maven,SpringBoot聚合项目及使用SLF4j打印日志(3)

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等