2015-07-01 77 views
2

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

我能得到的默認配置流是這樣的:

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

但是,這不會幫助我,因爲下面的代碼需要一個完整路徑的配置文件,以檢查它的存在,並加載它。

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

我該如何做到這一點?我不想硬編碼我的默認配置設置,如here

回答

0

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