日志系统——Spring配置slf4J+logback

日志系统在实际开发中意义重大,项目上线后有助于排查问题,且应少用System.out.println以避免影响性能。本文介绍将Spring默认的commons - logging日志包更改为slf4j+logback的具体操作,包括引入依赖和编写配置文件。

学习目标:

日志系统在我们的实际开发中有着重要的意义,尤其在项目上线之后排查问题有着重要的帮助!项目中尽量少使用System.out.println,这是因为Sysout是输出流操作,会对性能有一定的影响!所以有必要学习一下日志系统。

学习内容:

技术选型,总体介绍

在这里插入图片描述

不同日志系统的整合

在这里插入图片描述

在这里插入图片描述

具体操作

初始状态

spring默认使用commons-logging日志包,采用该日志包控制台打印的日志是这样的:
在这里插入图片描述
加入slf4j+logback后日志打印截图如下:
在这里插入图片描述

接下来将默认的commons-logging更改为slf4j+logback

具体操作:

1.引入slf4j+logback 依赖

 <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>

2.引入关键依赖 jcl-over-slf4j,该依赖会将jcl转换成slf4j

  <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
        </dependency>

3. 编写logback.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
    <!-- 指定日志输出的位置-->
    <appender name="STDOUT"
              class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!-- 日志输出的格式-->
            <!-- 按照顺序分别是:时间、日志级别、线程名称、打印日志的类、日志主体
            内容、换行-->
            <pattern>[%d{HH:mm:ss.SSS}] [%-5level] [%thread] [%logger]
                %msg%n
            </pattern>
        </encoder>
    </appender>
    <!-- 设置全局日志级别。日志级别按顺序分别是:DEBUG、INFO、WARN、ERROR -->
    <!-- 指定任何一个日志级别都只打印当前级别和后面级别的日志。-->
    <root level="INFO">
        <!-- 指定打印日志的appender,这里通过“STDOUT”引用了前面配置的appender -->
        <appender-ref ref="STDOUT"/>
    </root>
    <!-- 根据特殊需求指定局部日志级别-->
    <logger name="com.crowd.mapper" level="DEBUG"/>
</configuration>
### 如何在Maven项目中添加SLF4J 1.7与Logback的依赖 对于希望集成SLF4J 1.7以及Logback作为日志框架的开发者来说,在pom.xml文件内声明相应的依赖项是必要的操作。由于Spring Boot默认已经集成了SLF4JLogback,通常情况下无需额外引入这些库[^2]。然而如果需要指定版本或是自定义配置,则可以在`pom.xml`中显式地加入如下所示的内容: ```xml <dependencies> <!-- SLF4J API --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.36</version> <!-- 版本号可根据实际需求调整 --> </dependency> <!-- Logback Classic Module (includes Core) --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.10</version> <!-- 版本号同样可以根据实际情况修改 --> </dependency> </dependencies> ``` 上述XML片段展示了如何向Maven项目的构建描述符(`pom.xml`)里增加两个主要组件——SLF4J接口实现及其背后的Logback经典模块。通过这种方式能够确保应用程序拥有强大的日志记录能力。 一旦完成了依赖关系的设置之后,就可以像下面这样轻松创建并使用Logger实例来记录不同级别的消息了[^3]: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class App { private static final Logger logger = LoggerFactory.getLogger(App.class); public static void main(String[] args) { logger.info("-------------------info"); logger.debug("--------------------debug"); System.out.println("Hello World!"); } } ``` 这段Java代码示范了一个简单的应用入口方法(main),其中利用了之前提到的日志工具来进行信息级(INFO level) 和调试级(DEBUG level) 的事件追踪。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值