我试图通过在我的插件的类路径中提供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应用程序的一部分,该应用程序在应用程序的启动阶段调用以初始化日志记录框架。日志记录本身按预期工作,但我想调整一些设置以减少日志记录大小。 是的,我还将文件添加到构建路径,以确保它在执行期间也可用。 任何帮助或指示将不胜感激。
致以最诚挚的问候,
汤姆
答案 0 :(得分:0)
好的,我自己找到了解决方案:)我通过使用以下代码显式配置log4j来解决问题:
URL url = getClass().getResource("log4j.properties");
PropertyConfigurator.configure(url);
只需将log4j.properties放在您调用此代码的包中,它就可以工作;)初始化log4j框架时,您只需要调用一次此代码。
最好的问候,汤姆