痛点
日常工作,项目维护过程中,偶尔会遇到项目不能随意停止,但是需要调整日志级别排查问题的情况,于是找到了一个方式,动态调整日志级别。(虽然但是,仍需要提前在项目开发时,提前引入需要的依赖)
1、pom.xml中引入actuator依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2、修改application.properties
这是为了暴露loggers这个endpoint,我这里写的是* ,也可以根据情况自己写,比如:health,info,loggers
management.endpoints.web.exposure.include=*
3、查看日志信息
用GET请求访问http://[ip]:[port]/actuator/loggers 可以看到当前项目每个包的日志级别,可以看到springboot的默认日志级别为info,也就是ROOT对应的日志级别
{
"levels": [
"OFF",
"ERROR",
"WARN",
"INFO",
"DEBUG",
"TRACE"
],
"loggers": {
"ROOT": {
"configuredLevel": "INFO",
"effectiveLevel": "INFO"
},
"com": {
"configuredLevel": null,
"effectiveLevel": "INFO"
},
"com.example": {
"configuredLevel": null,
"effectiveLevel": "INFO"
},
"com.example.demo": {
"configuredLevel": null,
"effectiveLevel": "INFO"
},
"org.apache.coyote": {
"configuredLevel": null,
"effectiveLevel": "INFO"
}
········
}
}
4、修改日志级别
发送POST请求到http://[ip]:[port]/actuator/loggers/[包路径]
例如:
①修改整个项目日志级别为warn,则
http://[ip]:[port]/actuator/loggers/root
②修改com.example包下的日志级别为warn,则
http://[ip]:[port]/actuator/loggers/com.example
请求参数如下:
{
"configuredLevel":"warn"
}
springboot2.0 动态调整日志级别完成。