前言:咱们在调试程序时,查看日志是主要途径之一。当项目部署到开发测试环境以后,就没法为所欲为经过修改配置文件来修改日志级别,此时就须要动态的调整日志级别来知足调试需求。web
#### 1.引入actuator依赖spring
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
2.修改application.properties
#暴露loggers这个endpoint management.endpoints.web.exposure.include=health,info,loggers
3.查看日志信息
- 访问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.yao": { "configuredLevel": null, "effectiveLevel": "INFO" }, "com.yao.logdemo": { "configuredLevel": null, "effectiveLevel": "INFO" }, ... }
4.修改日志级别
- 修改整个项目日志级别为error
发送post请求到 http://ip:port/actuator/loggers/ROOT ,请求body为json
{ "configuredLevel":"ERROR" }
再次查看日志信息,能够看到全部ROOT以及全部包的日志级别都变成ERROR了springboot
{ "levels": [ "OFF", "ERROR", "WARN", "INFO", "DEBUG", "TRACE" ], "loggers": { "ROOT": { "configuredLevel": "ERROR", "effectiveLevel": "ERROR" }, "com": { "configuredLevel": null, "effectiveLevel": "ERROR" }, "com.yao": { "configuredLevel": null, "effectiveLevel": "ERROR" }, "com.yao.logdemo": { "configuredLevel": null, "effectiveLevel": "ERROR" }, ... }
- 修改com.yao包日志级别为debug
发送post请求到 http://ip:port/actuator/loggers/com.yao ,请求body为app
{ "configuredLevel":"DEBUG" }
再次查看日志信息,能够看到com.yao包及包含的包日志级别都变为DEBUG了spring-boot
{ "levels": [ "OFF", "ERROR", "WARN", "INFO", "DEBUG", "TRACE" ], "loggers": { "ROOT": { "configuredLevel": "ERROR", "effectiveLevel": "ERROR" }, "com": { "configuredLevel": null, "effectiveLevel": "ERROR" }, "com.yao": { "configuredLevel": "DEBUG", "effectiveLevel": "DEBUG" }, "com.yao.logdemo": { "configuredLevel": null, "effectiveLevel": "DEBUG" }, ... }