Spring 如何集成日志框架

一、日志依赖

1.1 Spring 如何集成日志

从Spring Framework 5.0开始,Spring 在 spring-jcl 模块中实现了自己的 Commons Logging brige。其具体实现为:

  • 检查类路径中是否存在Log4j 2. x API 和 SLF4J 1.7 API,并使用找到的第一个API作为日志实现。
  • 如果Log4j 2.x和SLF4J都不可用,则回退到Java平台的核心日志工具(也称为JUL或java.util.log)。

1.2 SpringBoot 的默认日志门面和日志系统

Spring Boot 使用的日志门面是 SLF4J (Simple Logging Facade for Java),而其默认的日志实现是 Logback

spring-boot-starter-web 依赖里面,我们也可以看到日志框架的依赖。

在这里插入图片描述

二、日志配置

对于 logback 日志框架,日志配置文件主要有:

  • logback.xml : 默认位置位于 classpath 下面
  • logback-spring.xml : 可以使用 Spring boot 提供的扩展功能 , 例如 defaults.xml 提供终端输出格式 CONSOLE_LOG_PATTERN

2.1 SpringBoot 日志配置方式

日志配置方式主要有:

  • 如果日志配置需求比较简单,我们可以编辑 applacation.yaml 。例如:

    # 日志配置
    logging:
      # 指定日志配置文件的位置,通常为logback.xml
      config: classpath:logback.xml
    
      # 配置日志级别
      level:
        # Spring Boot Web相关组件的日志级别设置为DEBUG
        org.springframework.web: "debug"
        # Hibernate相关组件的日志级别设置为ERROR
        org.hibernate: "error"
    
  • 如果日志配置需求比较复杂,建议编写日志配置文件 logback-spring.xml

具体细节查看 Logging :: Spring Boot

2.2 SpringBoot 日志重定向到文件

src/main/resources 目录下,创建 logback-spring.xml 文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
    <property name="LOG_FILE" value="./logs/spring.log"/>
    <include resource="org/springframework/boot/logging/logback/file-appender.xml" />
    <root level="INFO">
        <appender-ref ref="FILE" />
    </root>
</configuration>

其中,日志输出文件路径为 ./logs/spring.log

参考资料

Logging :: Spring Boot

Logging :: Spring Framework

SpringBoot系列(6):SpringBoot集成slf4j日志配置_springboot @slf4j-CSDN博客

Spring Boot 输出日志到文件(简单配置或使用 logback.xml 文件)_springboot yml 只记录erro到文件里-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值