如何配置org.apache.log4j插件?

时间:2014-01-28 17:46:22

标签: java logging eclipse-plugin log4j slf4j

log4j以jar形式和插件形式提供。

如果它以插件形式使用,那么如何配置呢?

更新

我想使用log4jslf4j来记录我的应用程序。

例如,激活器中的以下代码在调试控制台中没有任何输出:

    public void start(BundleContext context) throws Exception {
        super.start(context);
        plugin = this;
        log.info("Started");
    }

我可以使用log

初始化slf4j
private static final Logger log = LoggerFactory.getLogger(Activator.class);

log4j

private static final Logger log = Logger.getLogger(Activator.class);

slf4j稍后会报告一些警告

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [bundleresource://104.fwk1075417105:13/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [bundleresource://104.fwk1075417105:27/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

log4j是沉默的。可能它会记录到不同的地方 - 因此我想配置它。

更新2

我开启了log4j.debug,并确定需要log4j.properties来自插件org.eclipse.xtext.logging。此插件不是依赖项,可以从运行时配置中关闭。

那个案例log4j开始发誓它没有记录器的附加器。

它仍然忽略了我自己的插件中的log4g.properties。所以问题仍然存在:如何配置log4j

更新3

我删除了org.eclipse.xtext.logging并将其还原后,它就不再工作了。

以下是日志:

!ENTRY org.eclipse.osgi 2 0 2014-01-28 23:37:18.016
!MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-01-28 23:37:18.017
!MESSAGE Bundle org.eclipse.xtext.logging_1.2.15.v201309030823 [107] was not resolved.
!SUBENTRY 2 org.eclipse.xtext.logging 2 0 2014-01-28 23:37:18.017
!MESSAGE Constraints from the fragment conflict with the host: Import-Package: org.eclipse.core.runtime; version="0.0.0"
!SUBENTRY 2 org.eclipse.xtext.logging 2 0 2014-01-28 23:37:18.017
!MESSAGE Constraints from the fragment conflict with the host: Import-Package: org.osgi.framework; version="1.5.0"

这是什么意思?

由于log4j无法再找到属性文件。

0 个答案:

没有答案