如何在Eclipse RCP中使用log4j?

srk*_*srk 7 rcp swt eclipse-plugin jface eclipse-rcp

如何在Eclipse RCP项目中使用log4j日志API?

作为一种解决方法,U试图创建一个具有log4j jar的新OSGI Bundle,下面是bundle结构:

log4j是一个外部插件

用一个名为loggingtest的视图(模板)创建了一个基本的RCP应用程序.我已经在loggingtest项目的依赖项选项卡中包含了bundle log4.在Activator start方法中,我放置了以下代码

Logger logger = Logger.getLogger(Activator.class);
logger.info("Info starting");
logger.warn("Warning starting");
logger.error("Error starting");
Run Code Online (Sandbox Code Playgroud)

所以一切都很好,到目前为止,我能够使用log4j API和中途,我很困惑,因为在哪里放置log4j.properties文件,我怎么能进一步得到一个包含所有日志语句的日志文件.

更准确地说,下面是我的loggingtest项目清单文件的内容

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: LoggingTest
Bundle-SymbolicName: LoggingTest; singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: loggingtest.Activator
Require-Bundle: org.eclipse.ui,
 org.eclipse.core.runtime,
 log4j;bundle-version="1.0.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Run Code Online (Sandbox Code Playgroud)

Tom*_*del 5

在OSGi环境中有一个如何设置Log4J 的帖子.在使用OSGi时还要考虑使用Pax Logging.