本文介紹了在SpringBoot啟動程序中覆蓋log4j2版本的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我們正在嘗試構建一個SpringBoot Starter,它將以編程方式創(chuàng)建log4j2配置,因此開發(fā)人員不必費心創(chuàng)建log4j2.xml文件。問題是,不同版本的log4j2編程API有所不同。我們已經(jīng)使用log4j2版本2.5測試了我們的代碼,它在獨立環(huán)境中可以正常工作
現(xiàn)在,我們正在嘗試將API包含在SpringBoot Starter中,以便所有SpringBoot應用程序都可以包含此Starter,而不必擔心log4j配置。
我們面臨的問題是,SpringBoot捆綁了自己的log4j版本,而我們無法控制用戶將使用哪個版本的SpringBoot。
有沒有辦法強制SpringBoot啟動程序加載版本2.5的log4j2,否則我們的測試SpringBoot應用程序會報告一些在log4j中找不到的方法
推薦答案
將log4j2依賴項添加到節(jié)很方便
在父項目中,如下所示<dependencyManagement> <dependencies> ... <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j</artifactId> <version>2.15.0</version> <type>pom</type> <scope>import</scope> </dependency> ... </dependencies> </dependencyManagement>
它將規(guī)定項目和模塊中的所有l(wèi)og4j2版本。
相反,不需要添加一些log4j2依賴項
獨立的。
勾選this question post
如果項目的log4j依賴項僅來自
Spring-Boot-starter-log4j2,它有一個明確的設置方式,參考
春季
博客<properties> <log4j2.version>2.17.0</log4j2.version> </properties>
這篇關于在SpringBoot啟動程序中覆蓋log4j2版本的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,