gpt4 book ai didi

Eclipse PDE 和 log4j.properties?

转载 作者:行者123 更新时间:2023-12-02 12:17:11 25 4
gpt4 key购买 nike

我创建了一个 eclipse PDE 项目,并使用 slf4j-api 和 slf4j.log4j12 bundle 添加了 log4j 作为依赖项。在类(class)中我创建了记录器:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class MyTest {

private static final Logger logger = LoggerFactory.getLogger(MyTest.class
.getName());

public void tt() {
logger.info("log-test");

}

}

但是当我使用 OSGI 启动配置运行 PDE 项目时,我收到警告:

log4j:WARN No appenders could be found for logger (loggin_test.MyTest).
log4j:WARN Please initialize the log4j system properly.

基于此信息:

http://jaikiran.wordpress.com/2006/07/05/i-get-log4jwarn-no-appenders-could-be-found-for-logger-message-2/

我需要将 log4j.properties 放入 PDE 类路径中。我尝试将其放在 PDE 项目的根目录中并添加:

source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
log4j.properties

到 build.properties Pane 。但我仍然收到同样的警告。我应该将 log4j.properties 文件放在 PDE 项目中的什么位置?

编辑:我也尝试将其添加到/src 文件夹,但没有帮助。

最佳答案

您遇到了 OSGi 的第一个资源可见性问题。请记住,在 OSGi 中, bundle 必须显式定义它们的依赖关系。您的问题是您的包定义了 log4j 属性文件,但 log4j 包必须读取它。但是 log4j 包对您的包一无所知(也不应该知道)。

以下是该问题的 2 个解决方案:

  1. 使用Eclipse的伙伴机制
  2. 将 log4j 属性文件放入 OSGi 片段中并将其托管在 log4j 包上

选项 2 是一个更好的解决方案,但如果您发现选项 1 更容易,那么就选择它。

关于Eclipse PDE 和 log4j.properties?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3573549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com