您好,登錄后才能下訂單哦!
這篇文章主要介紹了springboot如何動態調整日志級別,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
springboot使用的common-logging,底層兼容各種日志框架如,log4j2,slf4,logback等,默認底層使用的是logback,我們可以去除logback的依賴,引入log4j2的starter,
如下:
(此配置不限于log4j2,也適用于其他日志框架)
在resources目錄下加入log4j2的xml配置文件,默認spring-boot會加載classpath下面的名為log4j2.xml,或log4j2-file.xml的日志配置文件。
也可以在spring的配置文件中指定需要加載的日志配置文件,以及動態調整各個目錄的日志等級
logging: config: classpath:log4j2.xml level: com.ly: debug org.springframework : info
該參數可以通過系統參數,或啟動參數,覆蓋jar內的配置項。
java -jar -Dlogging.config="xxx" test.jar java -jar test.jar --logging.config="xxx"
(適用于生產環境)
spring-boot-actuator是springboot的一個監控工具,它可以以http或JMX的方式暴露一些endPoint,內置的endpoint有 health,info,beans,loggers等。
我們可以通過loggers來動態調整日志級別,無需重啟服務。
如果是想使用webEndPoint的話,項目必須包含web-starter相關的依賴,因為actuator 的httpEndPoint是以mvc的方式集成的。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
management: endpoints: web: exposure: include: loggers
URI默認是 /actuator+endpoint+包名
$ curl 'http://localhost:8080/actuator/loggers/com.example' -i -X POST \ -H 'Content-Type: application/json' \ -d '{"configuredLevel":"debug"}'
原理可以看LoggersEndPoint的實現
有個loggingApplicationListener的監聽器,監聽了spring的事件,讀取了spring容器中的日志配置,進行了日志的初始化。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“springboot如何動態調整日志級別”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。