前言:咱們在調試程序時,查看日誌是主要途徑之一。當項目部署到開發測試環境以後,就沒法爲所欲爲經過修改配置文件來修改日誌級別,此時就須要動態的調整日誌級別來知足調試需求。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" }, ... }