繁体   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