Spring Boot 動態修改日志級別


轉自:https://my.oschina.net/sdlvzg/blog/1612974,做了一些修改

SpringBoot1.5.X版本引入的一個新的控制端點:/loggers,該端點將為我們提供動態修改Spring Boot應用日志級別的強大功能。該功能的使用非常簡單,它依然延續了Spring Boot自動化配置的實現,所以只需要在引入了spring-boot-starter-actuator依賴的條件下就會自動開啟該端點的功能。

下面介紹一下如何動態改變SpringBoot應用的日志級別:

使用工具為IDEA,SpringBoot版本為1.5.4【之以上的版本應該都可以】

1、創建項目

    先通過IDEA中Spring Initializr的創建一個名稱為springboot-changeloglevel的項目,並添加web、actuator支持。

          <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>

2、修改配置文件

    在application.properties增加以下配置信息

#關閉安全認證校驗 management.security.enabled=false
management.context-path=/manage

3、增加測試類

    增加一個控制層類,用來輸入不同級別日志,用於測試

package org.lvgang.springbootchangeloglevel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class TestController { protected static Logger logger=LoggerFactory.getLogger(TestController.class); @GetMapping("/test") public String hello(){ logger.debug("debug"); //輸出debug級日志 logger.info("info"); //輸出info級日志 logger.warn("warm"); //輸出warm級日志 logger.error("error"); //輸出error級日志 return ""; } } 

4、訪問URL說明

    完成以上之后,通過SpringBoot啟動文件啟動項目,會在控制台發現發了幾個URL映射,這就是日志相關的監控管理URL。

   (get)http://localhost:8080/loggers    通過此URL可以查看項目所有包的日志級別

   (get)http://localhost:8080/loggers/org.lvgang    通過此URL可以查看org.lvgang包的日志級別

    (post)http://localhost:8080/loggers/org.lvgang    通過此URL可以修改org.lvgang包的日志級別

5、日志級別修改

    因需要發送post請求,所有通過Postman工具訪問URL。【注意不要用網頁訪問,我這邊提示了訪問失敗,但是用工具是OK的】

    訪問Url:(get)http://localhost:8080/loggers【查看所有的日志級別】 或http://localhost:8080/loggers/org.lvgang 查看一下org.lvgang包的日志級別,可以查看出org.lvgang未配置日志級別。默認的日志級別為INFO

    

     訪問Url:(get)http://localhost:8080/test,查看日志輸出測試類,發現后輸出了info\warm\error三個級別的日志dubug級別的未輸出,原因是默認的日志級別為INFO

    

     訪問url:(post)http://localhost:8080/loggers/org.lvgang,修改org.lvgang日志輸出別為debug。此操作必須增加boby體,並且類型為json,boby內容必須與下圖一致。

【注意是configuredLevel而非configureLevel】

    

    訪問Url:(get)http://localhost:8080/loggers 或http://localhost:8080/loggers/org.lvgang 查看一下org.lvgang包的日志級別,可以查看日志級別為dubug

    

  訪問Url:(get)http://localhost:8080/test,查看日志輸出測試類,發現后輸出了dubug\info\warm\error四個級別的日志都輸出,表示日志級別修改成功了

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM