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>
相关推荐
旋律4144 分钟前
什么是抽象类与接口
java
杨运交14 分钟前
082-缓存模块-基于 Redis Lua 脚本实现分布式锁与原子操作实战
spring boot
旋律41417 分钟前
String、StringBuilder、StringBuffer:三个"字符串",到底区别在哪?
java·后端
一条泥憨鱼1 小时前
【Redis | 黑马点评】基于Redis的消息队列 | stream消息队列 源码解读
java·数据库·redis·缓存·lua
aibo8603081 小时前
基于 Spring Boot + Vue3 的博物馆藏品管理系统设计与实现
java·spring boot·后端
fanruitian1 小时前
python 进程 线程
java·前端·python
\光辉岁月/1 小时前
javaSE8-新特性-Stream&Option
java·stream·option
zzu123zsw1 小时前
把条件校验收敛到枚举接口:Spring Boot 统一断言模式与零污染异常切面工程化
java·spring boot·后端·架构设计
SL_staff1 小时前
计划系统落地难?从开发者视角重构执行入口体验
java·开源·全栈
鬼手点金2 小时前
单轮对话:最简单的 API 调用
java·服务器·前端·javascript·react.js·servlet·tomcat