抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

摘要:本文介绍了Spring Boot的日志模块。

环境

Windows 10 企业版 LTSC 21H2
Java 1.8
Maven 3.6.3
Spring 5.3.31
Spring Boot 2.7.18

1 日志框架

Spring Boot的日志系统采用了分层架构:

  • 日志门面:基于SLF4J作为日志门面,提供统一的日志接口
  • 日志实现:默认使用Logback,也支持Log4j2和JUL等其他日志实现
  • 桥接器:用于适配其他日志实现到SLF4J日志门面

2 配置方式

在配置文件中配置日志:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 全局日志级别
logging.level.root=INFO
# 特定包的日志级别
logging.level.com.example=DEBUG
# 控制台输出格式
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
# 文件输出格式
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
# 日志文件
logging.file.name=logs/${demo.name}.log
# 日志文件大小限制
logging.logback.rollingpolicy.max-file-size=10MB
# 日志文件保留天数
logging.logback.rollingpolicy.max-history=7

3 日志分组

Spring Boot支持将相关的包分为一组,方便统一配置日志级别:

properties
1
2
3
4
5
6
# 定义日志分组
logging.group.tomcat=org.apache.catalina,org.apache.coyote,org.apache.tomcat
logging.group.sql=org.hibernate.SQL,org.springframework.jdbc
# 为分组设置日志级别
logging.level.tomcat=WARN
logging.level.sql=DEBUG

Spring Boot预定义了一些日志分组:

  • web:与Web相关的日志
  • sql:与SQL相关的日志
  • tomcat:与Tomcat相关的日志

评论