Eclipse plugin 如何在Eclipse RCP中使用log4j?

Eclipse plugin 如何在Eclipse RCP中使用log4j?,eclipse-plugin,swt,eclipse-rcp,rcp,jface,Eclipse Plugin,Swt,Eclipse Rcp,Rcp,Jface,如何在Eclipse RCP项目中使用log4j日志API 作为一种解决方法,U尝试创建一个新的OSGI捆绑包,它有一个log4j jars,下面是捆绑包结构: 我已经用名为loggingtest的视图(模板)包装了一个基本的RCP应用程序。我已经在loggingtest项目的dependencies选项卡中包含了包log4j。在Activator start方法中,我放置了以下代码 Logger logger = Logger.getLogger(Activator.class); logg

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

作为一种解决方法,U尝试创建一个新的OSGI捆绑包,它有一个log4j jars,下面是捆绑包结构:

我已经用名为loggingtest的视图(模板)包装了一个基本的RCP应用程序。我已经在loggingtest项目的dependencies选项卡中包含了包log4j。在Activator start方法中,我放置了以下代码

Logger logger = Logger.getLogger(Activator.class);
logger.info("Info starting");
logger.warn("Warning starting");
logger.error("Error starting");
到目前为止,一切都很好,我能够使用log4japi,中途,我很困惑,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

在OSGi环境中有一个如何设置Log4J的方法。在使用OSGi时也要考虑使用PAX日志。

< P>我使用Log4J与我的RCP应用程序BR> 以下是您应该做的:只需删除log4j插件(您可以从Spring Bundle存储库获得“osgified”版本),然后将其删除到eclipse安装的“dropin”文件夹中。
然后,您应该添加此插件作为应用程序的依赖项,并在Activator类上执行以下操作:
URL confURL=getBundle().getEntry(“log4j.properties”);
configure(FileLocator.toFileURL(confURL.getFile())

并将此“log4j.properties”放到应用程序的根文件夹中
对不起,我的英语不好

  • 在项目中添加log4j.jar
  • 在MANIFEST.MF中添加引用。
    requirebundle:org.apache.log4j;捆绑包版本=“1.2.15”
  • 在build.properties中添加引用
  • bin.includes=plugin.xml\
    META-INF/\
    .,\
    lib/log4j-1.2.17.jar
    

  • 在.java文件中使用记录器
  • PropertyConfigurator.configure(log4jConfPath);
    调试(“启动应用程序…”);
    


    我发现这个教程很有帮助。请检查-

    遵循相同的帖子,该帖子在IDE中运行良好,当我尝试导出无法生成日志文件的产品时,请使用-console启动您的产品,并通过OSGi控制台检查日志包和片段是否已加载并启动…我忘记了将lo4j.properties添加到二进制构建路径,并在将其添加到构建路径后,最终对我有效,Gratiude任何想观看视频教程的人请访问链接,我已经创建了一个视频OT:Pax日志记录的最新指南吗?如果有人没有绑定到log4j,Eclipse RCP提供了自己的日志记录功能-它允许您在Eclipse平台内工作,而无需手动破解。