Springboot 整合 logback 日志框架

文章目录

整合 Logback 日志框架

第一步:导入依赖

(Springboot 会自己整合。不需要单独导入依赖)

第二步:导入配置(logback.xml)

复制代码
<configuration>
 
    <!-- 1. 定义根日志级别 -->
    <root level="INFO">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>
 
    <!-- 2. 定义输出到控制台的日志格式和目标 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
 
    <!-- 3. 定义输出到文件的日志格式和目标 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>myapp.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>myapp.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
 
</configuration>
详解

标签是配置文件的根元素。
元素定义了根日志级别,它决定了所有日志消息的最低级别,此处设置为 INFO。根日志级别是一个过滤器,低于此级别的日志消息将被忽略。
元素定义了不同的日志输出目标。上述配置文件中定义了两个 appender,分别是 STDOUT 和 FILE。每个 appender 都有一个 name 属性和 class 属性。STDOUT 是输出到控制台的 appender,FILE 是输出到文件的 appender。
元素定义了日志消息的格式。在上述配置中,STDOUT 和 FILE 都使用了相同的格式,包括时间戳、线程名、日志级别、日志记录器名称、消息文本等。你可以根据需要自定义日志消息的格式。
rollingPolicy 元素定义了日志文件的滚动策略。在 FILE appender 中,我们使用 TimeBasedRollingPolicy,它会根据时间滚动日志文件。例如,myapp.log 每天会滚动并保存为 myapp.2023-09-25.log,其中时间戳是当前日期。

使用(记录日志)



遇到问题一

解决方案

复制代码
<dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.8.0-beta4</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.8.0-beta4</version>
        </dependency>
相关推荐
dllxhcjla3 小时前
微服务全套
java
亚历克斯神3 小时前
JVM 内存管理 2026:深度解析与调优实战
java·spring·微服务
逻辑驱动的ken4 小时前
Java高频面试题:03
java·开发语言·面试·求职招聘·春招
广师大-Wzx5 小时前
一篇文章看懂MySQL数据库(下)
java·开发语言·数据结构·数据库·windows·python·mysql
野生技术架构师5 小时前
Java NIO到底是个什么东西?
java·开发语言·nio
likerhood6 小时前
简单工厂设计模式
java·ide·intellij-idea
派大星酷6 小时前
Java 调用 Kimi API 实战:实现与大模型的简单对话
java·开发语言·ai编程
猫耳球团8 小时前
IDEA与Cursor跨平台协作指南
java·ide·intellij-idea
亚历克斯神8 小时前
Java 职业发展:2026 指南
java·spring·微服务
xuhaoyu_cpp_java8 小时前
Maven学习(二)
java·经验分享·笔记·学习·maven