【发布时间】:2013-12-05 06:48:40
【问题描述】:
所以这是一个由这个问题引起的后续问题:Using log4j in eclipse RCP doesn't work。
到目前为止,我可以在我的 RCP 中使用 log4j API,但是在使用以下命令运行它时
Category CAT = Category.getInstance(getClass().getSimpleName());
CAT.debug("Application has been started");
我得到了那个例外:
No appenders could be found for category (MyPlugin).
Please initialize the log4j system properly.
我创建了一个片段插件,其中包含一个名为 log4j.properties 的文件,片段主机是包含 log4j API 的插件。属性文件位于片段插件的“根”中
我的 log4j.properties 文件如下所示:
# Set root logger level to debug and its only appender to default.
log4j.rootLogger=debug, default
# default is set to be a ConsoleAppender.
log4j.appender.default=org.apache.log4j.ConsoleAppender
# default uses PatternLayout.
log4j.appender.default.layout=org.apache.log4j.PatternLayout
log4j.appender.default.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
任何想法我做错了什么?
【问题讨论】:
-
可能是这样,log4j.properties 不在日志插件的类路径中。不确定如何使用您的设置进行配置,但您可以尝试的一件事是调用 PropertyConfigurator.configure(properties/fileName);
-
我确定它不是我的类路径的一部分,但我不知道为什么。我既不知道如何检查片段插件是否已加载,也不知道属性文件是否已“添加”到我的 rcp 应用程序中。调用您提出的函数会导致“无法读取配置文件 [log4.properties] 后跟 java.io.FileNotFoundException。我的设置并不复杂。它是一个标准的 eclipse4 rcp,带有一个用于 log4j 的插件和一个用于配置文件的片段插件.
标签: log4j eclipse-rcp