SpringBoot 修改日志输出等级
1. 通过配置文件设置
在application.properties或application.yml中直接配置日志级别。
示例(application.properties):
# 设置全局默认日志级别(例如 INFO)
logging.level.root=INFO
# 设置特定包的日志级别(例如将 Spring Web 的日志设为 DEBUG)
logging.level.org.springframework.web=DEBUG
logging.level.com.example.myapp=TRACE
示例(application.yml):
logging:
level:
root: INFO
org.springframework.web: DEBUG
com.example.myapp: TRACE
2. 通过命令行参数动态调整
在启动应用时通过命令行参数指定日志级别:
# 设置全局默认日志级别
java -jar myapp.jar --logging.level.root=DEBUG
# 设置特定包的日志级别
java -jar myapp.jar --logging.level.org.springframework.web=DEBUG
3. 使用 Spring Boot Actuator 动态调整(无需重启)
通过 Actuator 的/loggers端点动态修改日志级别(需先集成 Actuator)。
步骤:
-
添加依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> -
暴露
loggers端点(在application.properties中):management.endpoints.web.exposure.include=loggers -
查看或修改日志级别:
- 查看当前配置:
GET /actuator/loggers - 修改特定包日志级别(例如设置为 DEBUG):
POST /actuator/loggers/org.springframework.web Body: {"configuredLevel": "DEBUG"}
- 查看当前配置:
4. 自定义日志配置文件
对于更复杂的场景,可以通过自定义日志框架的配置文件(如 Logback)调整级别。
示例(logback-spring.xml):
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 设置特定包的日志级别 -->
<logger name="org.springframework.web" level="DEBUG" />
<!-- 设置全局默认日志级别 -->
<root level="INFO">
<appender-ref ref="CONSOLE" />
</root>
</configuration>
优先级说明
配置的优先级从高到低:
- 命令行参数
application.properties/application.yml- 自定义日志配置文件(如
logback-spring.xml)
总结
- 简单调整:使用
application.properties或命令行参数。 - 动态调整:集成 Actuator 通过 HTTP API 修改。
- 复杂配置:自定义日志框架配置文件(如 Logback)。
根据实际需求选择合适的方式即可。
来自:DeepSeek
浙公网安备 33010602011771号