在Spring Boot项目中,logback是默认的日志实现,我们通常会通过编写logback.xml来定制日志行为,比如控制输出级别、定义文件滚动规则和美化控制台格式。下面先了解一个基础配置示例。

logback.xml基础结构
一个典型的logback.xml包含三个核心部分:<appender>定义输出目的地,<logger>指定包或类的日志级别,<root>配置全局根日志。Spring Boot启动时会自动在classpath下加载该文件。
常用appender配置
控制台和文件是最常用的两种appender。以下代码展示了如何定义控制台输出与按天滚动的文件输出:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 控制台appender -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 文件appender,按天滚动 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/app.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
为特定包设置日志级别
有时我们需要让某些框架少打日志,或者让自己业务的包输出更详细。可以通过<logger>标签实现:
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<!-- 将com.example.demo包设为DEBUG -->
<logger name="com.example.demo" level="DEBUG" additivity="false">
<appender-ref ref="CONSOLE" />
</logger>
<root level="INFO">
<appender-ref ref="CONSOLE" />
</root>
</configuration>
使用Spring Boot变量
logback.xml支持引用application.properties中的配置,使用${}语法即可,方便多环境切换。例如:
<configuration>
<property name="LOG_PATH" value="${LOG_PATH:-logs}" />
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/app.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss} %-5level %logger - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>
常见注意事项
- 文件应放在src/main/resources目录下,命名为logback.xml或logback-spring.xml。
- 使用logback-spring.xml可以使用Spring Profile特性,通过
<springProfile>区分环境。 - 避免将root级别设为DEBUG,否则框架日志会非常多。
掌握以上写法,就能应对大多数Spring Boot项目的日志配置需求。根据实际业务调整appender和level,可显著提升排查效率。
logbackSpring_Boot日志配置修改时间:2026-07-26 21:54:25