簡體   English   中英

從jar內使用默認的log4j2配置文件

[英]Using a default log4j2 configuration file from inside the jar

我在應用程序jar中放置了一個默認的log4j2配置文件(log4j2.xml)。
如果用戶未定義自己的配置文件,我想加載默認配置。

我可以通過這種方式獲取默認配置流:

InputStream defaultConfigStream = MyApp.class.getClassLoader().getResourceAsStream("log4j2.xml");

但這對我無濟於事,因為以下代碼采用了配置文件的完整路徑來檢查其存在並加載它。

System.setProperty("log4j.configurationFile", file.toUri().toURL().toString());

我該怎么做? 我不想對我的默認配置設置進行硬編碼,例如here

使用DomConfigurator,請參閱: https ://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/DOMConfigurator.html,您可以解析XML並將其提供給配置器,並在初始化記錄器時進行配置會自動考慮配置

我發現,這非常簡單。 文檔中所述(第7點)所述,Log4j2將自動在類路徑中查找log4j2.xml。 因此,如果用戶未定義自己的配置文件,則不會調用任何方法來加載默認配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM