摘要:本文介绍了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支持将相关的包分为一组,方便统一配置日志级别:
properties1 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相关的日志
条