簡體   English   中英

在類路徑中找不到log4j.properties

[英]log4j.properties cannot be found in classpath

我試圖通過在插件的類路徑中提供log4j.properties文件來配置我的log4j框架,但是log4j一直抱怨它找不到該文件...這是我的項目結構的屏幕快照,以及我將log4j放在哪里.properties文件: 在此處輸入圖片說明

如上圖所示,我將文件放到了我能想到的任何地方,但是它仍然不斷抱怨找不到文件。 這是將-Dlog4j.debug = true -Dlog4j.configuration = log4j.properties添加到我的VM參數之后的控制台輸出:

log4j: Trying to find [log4j.properties] using context classloader org.eclipse.core.runtime.internal.adaptor.ContextFinder@6162abf8.
log4j: Trying to find [log4j.properties] using org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@4caeca49[org.apache.log4j:1.2.16(id=801)] class loader.
log4j: Trying to find [log4j.properties] using ClassLoader.getSystemResource().
log4j: Could not find resource: [log4j.properties].

我正在使用Eclipse Kepler Service Release 2和log4j 1.2.15。 該插件是RCP應用程序的一部分,在該應用程序的啟動階段會調用該插件以初始化日志記錄框架。 日志記錄本身可以按預期工作,但是我想調整一些設置以減小日志記錄的大小。 是的,我還將該文件添加到了構建路徑,以確保在執行過程中該文件也可用。 任何幫助或指針,將不勝感激。

最好的祝福,

湯姆

好的,我自己找到了解決方案:)我通過使用以下代碼顯式配置log4j解決了該問題:

URL url = getClass().getResource("log4j.properties");        
PropertyConfigurator.configure(url);

只需將您的log4j.properties放置在調用此代碼的程序包中,它便會起作用;)初始化log4j框架時,只需調用一次此代碼。

最好的問候,湯姆

暫無
暫無

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

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