1
我想知道如何從嵌入在我的應用程序中的資源加載Log4j的配置文件?如何從資源加載Log4j2配置文件
也就是說,我沒有計算機本身的文件,該文件嵌入在我的應用程序中,我想加載它。
以下是我使用的代碼:
ConfigurationSource source = new ConfigurationSource(Main.class.getResourceAsStream("/in/gunbound/prelauncher/server/log4j2/log4j2.xml"));
ConfigurationFactory factory = (ConfigurationFactory) XMLConfigurationFactory.getInstance().getConfiguration(source);
ConfigurationFactory.setConfigurationFactory(factory);
但結果是此異常:
異常在線程 「主要」 java.lang.ClassCastException: org.apache.logging。 log4j.core.config.XMLConfiguration無法轉換爲 到org.apache.logging.log4j.core.config.ConfigurationFactory在 in.gunbound.prelauncher.server.Main.main(Main.java:62)
我不想讓設置文件對用戶可見,所以我遇到了這個問題,你知道嗎?
任何人都可以幫助我嗎?
謝謝。
沒錯。我試圖將此類型轉換爲ConfigurationFactory,但未獲得成功。你能幫我達到目標嗎?基本上,問題是,我在XML Log4j2中有一個配置文件,但它作爲一個資源嵌入到我的應用程序中,我想從中加載設置,而不是讓配置文件對用戶可見,明白嗎? – Thainan 2013-02-20 13:41:50
log4j.xml駐留在哪裏?在一個jar文件中? – 2013-02-20 13:44:18
我在我的應用程序中創建了一個包,並導入了XML文件,即它將被嵌入到JAR中,當我生成它時,您知道嗎? 我會這樣做,因爲我不希望設置文件對用戶可見。 – Thainan 2013-02-20 16:41:51