Springboot集成SLF4J+Logback

1、Maven安装依赖

使用JDK8版本的SLF4J+Logback版本为:

复制代码
<dependencies>
    <!-- SLF4J API -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.36</version> <!-- 或者 2.0.9,如果使用 Java 11 及以上 -->
    </dependency>

    <!-- Logback Classic (SLF4J 实现) -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.11</version> <!-- 或者 1.4.11,如果使用 Java 11 及以上 -->
    </dependency>
</dependencies>

引入之后Update一下Maven以确定你的依赖确实是引入了进来

如果你不是第一次使用slf4j,集成Logback时产生冲突,可以使用命令排查

复制代码
mvn dependency:tree | grep slf4j

2、在resources下创建 logback.xml (Logback配置文件)

以下是简单配置

复制代码
<?xml version="1.0" encoding="UTF-8"?>

<configuration>

    <!-- 控制台输出日志 -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 定义 root logger,默认级别为DEBUG,并使用 CONSOLE appender -->
    <root level="debug">
        <appender-ref ref="CONSOLE" />
    </root>

    <!-- 针对特定包或类设置日志级别 -->
    <logger name="com.cpw" level="info" />

</configuration>

3.使用Logger

在你所需要打印日志的类加入以下代码:

复制代码
    private static final Logger logger = LoggerFactory.getLogger(你的类.class);

完整代码:

复制代码
package com.cpw.test;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class logTest {

    private static final Logger logger = LoggerFactory.getLogger(logTest.class);

    public static void main(String[] args) {
        // 记录不同级别的日志
        logger.debug("This is a debug message");
        logger.info("This is an info message");
        logger.warn("This is a warn message");
        logger.error("This is an error message");

        // 使用占位符记录日志
        String name = "John";
        String name2 = "John2";
        logger.info("Hello, {} ,{}   ! 喔,{}~再见", name,name2,name);
    }
}

运行结果:

相关推荐
明月_清风6 小时前
加密解密系统完全指南:原理剖析与 Go 实践
后端
方也_arkling6 小时前
【Java-Day08】static / final / 枚举
java·开发语言
橙淮6 小时前
Spring Bean作用域与生命周期全解析
java·spring
Chengbei116 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
llz_1126 小时前
web-第一次课后作业
java·开发语言·idea
秋97 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
小江的记录本7 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
DIY源码阁7 小时前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse
冬奇Lab8 小时前
每日一个开源项目(第105篇):Twenty - 跳出 Salesforce 的圈套,定义现代开源 CRM
前端·后端·开源
basketball6168 小时前
C++ NULL 和 nullptr 区别 以及 nullptr 的核心实现
java·开发语言·c++