SpringBoot日志整合

Spring Boot 整合日志框架的核心是通过 spring-boot-starter-logging 依赖来实现的,它默认整合了 Logback 日志框架。

Spring Boot 对各种日志框架进行了自动配置,使得我们可以很容易地在 Spring Boot 应用中使用日志。

  1. Spring Boot 在类路径下寻找 Logback 的配置文件 logback-spring.xml,如果不存在,则会寻找标准的 Logback 配置文件 logback.xml。

  2. 如果 logback-spring.xml 或 logback.xml 文件不存在,Spring Boot 会查找默认的日志配置,并应用默认的日志级别(通常是 INFO)

  3. Spring Boot 还可以通过在 application.properties 或 application.yml 配置文件中设置 logging.config 属性来指定日志配置文件

  4. Spring Boot 提供了自动配置的日志工厂,可以自动适配 Logback、Log4j2、Log4j 等日志框架。

在 Maven 的 pom.xml 中添加 spring-boot-starter-logging 依赖

复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-logging</artifactId>
</dependency>

在 src/main/resources 目录下创建 logback-spring.xml 文件,并配置日志

复制代码
<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} - %msg%n</pattern>
        </encoder>
    </appender>
 
    <root level="info">
        <appender-ref ref="CONSOLE" />
    </root>
</configuration>

在代码中使用日志

复制代码
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
 
@Component
public class MyComponent {
    private static final Logger logger = LoggerFactory.getLogger(MyComponent.class);
 
    public void doSomething() {
        logger.info("This is an info message");
    }
}
相关推荐
一个有温度的技术博主3 分钟前
两级缓存一致性实战:Redis + 本地缓存,如何不让数据“分裂”?
redis·spring·缓存
步行cgn3 分钟前
Spring AOP 实战:安全日志
python·安全·spring
做个文艺程序员5 分钟前
MQ第04篇:ActiveMQ深度解析:JMS规范、Spring JMS整合与企业级异步通信实战
spring·消息队列·activemq·java-activemq·jms
10mAh17 分钟前
【Java】ArrayList 遍历删除为什么报错?三种写法与漏删复现
java·开发语言·windows
thefool11226633 分钟前
多线程 4
java
WeiXin_DZbishe44 分钟前
基于微信小程序的本地闲置物品交易平台-计算机毕设 附源码【课程设计】26825
vue.js·spring boot·python·微信小程序·架构·php·课程设计
Rain的Java大神之路1 小时前
[特殊字符]8年Java老兵转型AI Agent:90%的人挂在同一个坑,根本不用学Python!(万字实战复盘,建议收藏)
java·数据库·人工智能·后端·python·spring·ai编程
高级程序源1 小时前
springboot本地生活服务平台33399-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·小程序·flask·课程设计
高级程序源1 小时前
springboot社区旧物回收管理系统25381-计算机课程设计、毕业设计
vue.js·spring boot·python·django·课程设计
高级程序源1 小时前
springboot大学生体测系统72170-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·django·课程设计