springboot動(dòng)態(tài)調(diào)整日志級(jí)別的操作大全
1.springboot使用log4j2
springboot使用的common-logging,底層兼容各種日志框架如,log4j2,slf4,logback等,默認(rèn)底層使用的是logback,我們可以去除logback的依賴,引入log4j2的starter,
如下:

2.指定日志配置文件和日志等級(jí)
(此配置不限于log4j2,也適用于其他日志框架)
在resources目錄下加入log4j2的xml配置文件,默認(rèn)spring-boot會(huì)加載classpath下面的名為log4j2.xml,或log4j2-file.xml的日志配置文件。

也可以在spring的配置文件中指定需要加載的日志配置文件,以及動(dòng)態(tài)調(diào)整各個(gè)目錄的日志等級(jí)
logging:
config: classpath:log4j2.xml
level:
com.ly: debug
org.springframework : info
該參數(shù)可以通過系統(tǒng)參數(shù),或啟動(dòng)參數(shù),覆蓋jar內(nèi)的配置項(xiàng)。
java -jar -Dlogging.config="xxx" test.jar java -jar test.jar --logging.config="xxx"
3.通過springboot-actuator動(dòng)態(tài)調(diào)整日志級(jí)別
(適用于生產(chǎn)環(huán)境)
spring-boot-actuator是springboot的一個(gè)監(jiān)控工具,它可以以http或JMX的方式暴露一些endPoint,內(nèi)置的endpoint有 health,info,beans,loggers等。
我們可以通過loggers來動(dòng)態(tài)調(diào)整日志級(jí)別,無(wú)需重啟服務(wù)。
如果是想使用webEndPoint的話,項(xiàng)目必須包含web-starter相關(guān)的依賴,因?yàn)閍ctuator 的httpEndPoint是以mvc的方式集成的。
3.1 在pom文件中引入依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
3.2 在配置文件中開啟loggers的endPoint端點(diǎn)
management:
endpoints:
web:
exposure:
include: loggers
3.3 發(fā)起http請(qǐng)求改變?nèi)罩炯?jí)別
URI默認(rèn)是 /actuator+endpoint+包名
$ curl 'http://localhost:8080/actuator/loggers/com.example' -i -X POST \
-H 'Content-Type: application/json' \
-d '{"configuredLevel":"debug"}'
原理可以看LoggersEndPoint的實(shí)現(xiàn)

4.spring boot日志初始化原理

有個(gè)loggingApplicationListener的監(jiān)聽器,監(jiān)聽了spring的事件,讀取了spring容器中的日志配置,進(jìn)行了日志的初始化。
到此這篇關(guān)于springboot動(dòng)態(tài)調(diào)整日志級(jí)別的文章就介紹到這了,更多相關(guān)springboot調(diào)整日志級(jí)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot監(jiān)聽Nacos動(dòng)態(tài)修改日志級(jí)別的操作方法
- SpringBoot使用slf4j日志并輸出到文件中的操作方法
- Java?SpringBoot項(xiàng)目如何優(yōu)雅的實(shí)現(xiàn)操作日志記錄
- SpringBoot使用AOP記錄接口操作日志的方法
- SpringBoot接入輕量級(jí)分布式日志框架(GrayLog)的操作方法
- springBoot啟動(dòng)輸出三行日志控制臺(tái)自動(dòng)停止操作
- SpringBoot項(xiàng)目中控制臺(tái)日志的保存配置操作
- 在SpringBoot中記錄用戶操作日志功能
相關(guān)文章
Java后臺(tái)開發(fā)之表單提交之前驗(yàn)證
這篇文章主要介紹了Java后臺(tái)開發(fā)之表單提交之前驗(yàn)證的實(shí)現(xiàn)代碼,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友參考下吧2017-02-02
如何通過一個(gè)注解實(shí)現(xiàn)MyBatis字段加解密
用戶隱私很重要,因此很多公司開始做數(shù)據(jù)加減密改造,下面這篇文章主要給大家介紹了關(guān)于如何通過一個(gè)注解實(shí)現(xiàn)MyBatis字段加解密的相關(guān)資料,需要的朋友可以參考下2022-02-02
Java StringBuilder類相關(guān)知識(shí)總結(jié)
這篇文章主要介紹了Java StringBuilder類相關(guān)知識(shí)總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
java編程創(chuàng)建型設(shè)計(jì)模式單例模式的七種示例
這篇文章主要為大家介紹了java編程中創(chuàng)建型設(shè)計(jì)模式之單例模式的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-02-02
Java關(guān)鍵字instanceof用法及實(shí)現(xiàn)策略
instanceof 運(yùn)算符是用來在運(yùn)行時(shí)判斷對(duì)象是否是指定類及其父類的一個(gè)實(shí)例。這篇文章主要介紹了Java關(guān)鍵字instanceof用法解析,需要的朋友可以參考下2020-08-08
SpringBoot整合JavaMail實(shí)現(xiàn)發(fā)郵件的項(xiàng)目實(shí)踐
本文主要介紹了SpringBoot整合JavaMail實(shí)現(xiàn)發(fā)郵件的項(xiàng)目實(shí)踐,詳細(xì)闡述了使用SpringBoot和JavaMail發(fā)送郵件的步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10

