一直都在使用Maven和纯Java库进行开发,我从没想过在开发Eclipse插件时发出一些日志语句可能会成为问题。 但是,在Eclipse开发人员的想象中,一切似乎总是在Eclipse环境中,而Eclipse宇宙之外则什么都没有。

如果您使用Google搜索上述标题,您会发现的第一篇文章是有关“平台日志记录工具”的文章。 但是第三库呢? 他们不能使用基于Eclipse的日志框架。

在我的库中,我使用SLF4J API,让用户自己决定要使用哪种日志记录实现(Log4J,Logback,JDK)。 这正是我要在Eclipse中执行的操作。 很难确切地知道该怎么做,但这是这个难题的一部分。

阶段1:开发

这描述了自定义插件开发阶段的步骤。

步骤1:将您的库放入P2存储库

您要在Eclipse中使用的所有内容都必须从P2存储库中安装。 但是我使用的大多数库都在Maven存储库中。 据我所知,没有像“ Maven Central”这样的主P2存储库,而且我在P2存储库中找到的所有库都相当老。 因此,您必须自己创建一个。

幸运的是,有一个名为p2-maven-plugin的Maven 插件可以将您所有的Maven JAR转换为单个P2存储库。 您可以将插件上传到网站的文件夹,也可以直接从本地硬盘安装。

对于此示例,您将需要以下库:

  • org.slf4j:slf4j-api:1.6.6
  • org.slf4j:slf4j-log4j12:1.6.6
  • log4j:log4j:1.2.17
  • org.ops4j.pax.logging:pax-logging-api:1.7.0
  • org.ops4j.pax.logging:pax-logging-service:1.7.0
  • org.ops4j.pax.confman:pax-confman-propsloader:0.2.2

格式“ groupId:artifactid:version”与“ p2-maven-plugin”所使用的格式相同。 要跳过此步骤,您还可以使用http://www.fuin.org/p2-repository/ 。

步骤2:在Eclipse IDE中安装SLF4J API

  1. 选择“帮助/安装新软件...”。
  2. 添加P2存储库URL并安装“ slf4j-api”-您可以直接将步骤1中的文件夹与文件URL一起使用,例如:“ file:/ pathtoyour / p2-repository /”。
  3. 将新安装的“ slf4j.api”添加到您的MANIFEST.MF。
  4. 照常开始使用SLF4J登录代码。

阶段2:生产

这描述了自定义插件的用户必须完成的任务才能开始使用Log4J进行日志记录。 以下假设您的自定义插件已安装。

步骤1:在Eclipse IDE中安装日志库

  1. 选择“帮助/安装新软件...”。
  2. 从Eclipse更新站点安装“ Equinox目标组件”。
  3. 添加P2存储库URL并安装以下插件:
    • Apache Log4j
    • OPS4J Pax ConfMan –属性加载器
    • OPS4J Pax日志记录–API
    • OPS4J Pax日志记录-服务

步骤2:配置PAX日志记录

  1. 在“ eclipse.ini”中将日志配置的位置设置为“ vmarg '

    -vmargs
    -Xms40m
    -Xmx512m
    -Dbundles.configuration.location=<config-dir>
    
  2. 在上面的“ config-dir”中创建一个名为“ services”的文件夹。
  3. 在“服务”中创建名为“ org.ops4j.pax.logging.properties”的Log4J属性。
    log4j.rootLogger=INFO, FILE
    log4j.appender.FILE=org.apache.log4j.FileAppender
    log4j.appender.FILE.File=<path-to-your-log> /example.log
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n
    log4j.logger.your.package=DEBUG

步骤3:激活PAX日志记录

  1. 打开“控制台”视图。
  2. 选择“主机OSGI控制台”。
  3. 启动以下捆绑包:
    start org.eclipse.equinox.cm
    start org.ops4j.pax.logging.pax-logging-api
    start org.ops4j.pax.logging.pax-logging-service
    start org.ops4j.pax.configmanager

现在,您应该能够在配置的“ example.log”文件中看到您的日志语句。

步骤4:更改配置

如果要更改“ org.ops4j.pax.logging.properties”中的配置,只需在OSGI控制台中重新启动PAX Configmanager:

stop org.ops4j.pax.configmanager
start org.ops4j.pax.configmanager

祝您伐木愉快!

参考:来自A Java Developer's Life博客的JCG合作伙伴 Michael Schnell的SLF4J登录Eclipse插件 。

翻译自: https://www.javacodegeeks.com/2013/01/slf4j-logging-in-eclipse-plugins.html

Eclipse插件中的SLF4J登录相关推荐

  1. svn提示服务器禁止修改目录,SVN Eclipse插件中如何忽略对服务器已有文件修改后的提交...

    忽略分为两种情况. 1.服务器还不存在该文件/文件夹,提交的时候忽略. 2.服务器已经存在该文件/文件夹,提交的时候忽略. 第一种情况比较好处理. (svn:ignore) 1.1右键点击要忽略的文件 ...

  2. Eclipse插件开发中对于外部Jar包和类文件引用的处理(彻底解决插件开发中的NoClassDefFoundError问题)...

    目的:Eclipse插件开发中,经常要引用第三方包或者是引用其他插件中的类,由于插件开发环境引用类路径的设置和运行平台引用类路径的设置不同,经常导致开发过程OK,一旦运行则出现NoClassDefFo ...

  3. eclipse java开发插件_10大Java开发必备的Eclipse插件

    原标题:10大Java开发必备的Eclipse插件 今天小编来给大家介绍10个Java开发人员必备的Eclipse 插件,它们有各自的优势,你可以从中选择适合你的那款. 1. EGit EGit是 J ...

  4. Eclipse Android插件中的“调试证书已过期”错误

    我正在使用Eclipse Android插件来构建项目,但是在控制台窗口中出现此错误: [2010-02-03 10:31:14 - androidVNC]Error generating final ...

  5. groovy 兼容 java_java – eclipse插件和maven依赖项中存在的’groovy-all’jar之间的兼容性问题...

    在我的POM中,有一个依赖:spock-core 1.0-groovy-2.3,它将groovy-all 2.3.10添加到我的项目中.而且,我的eclipse groovy插件包含groovy-al ...

  6. 在Eclipse/MyEclipse中安装spket插件

    Spket ide是强大的工具包为了JavaScript和XML的开发,这个强大的编辑器对JavaScript, XUL/XBLand Yahoo! Widget的开发都有全面的支持 ,例如代码完成, ...

  7. Cordova iOS 项目中微信/qq/Apple ID插件的安装以及登录的实现

    说明:我们在做项目的时候,往往会接入第三方登录,使用官方或者已经大神已经写好的插件,不仅节省时间,而且可以加快我们项目开发的进度,本文章记录我在工程中所用到的几个第三方登录,一方面为了防止时间长了忘记 ...

  8. Eclipse插件-properties文件中中文显示ASCII码

    Eclipse插件-properties文件中文显示ASCII码 参考博客:[eclipse]properties文件中文件显示ASCII码 1. 打开Eclipse的hellp=>Instal ...

  9. Eclipse 插件升级:如何在线安装/更新 Eclipse 中安装的官方/第三方插件?

    文章目录 前言 一.区别 Eclipse 插件更新与 Eclipse 更新 二.Eclipse 官方插件更新/安装 2.1.检查更新 2.2.确认更新安装信息 2.3.进行配置及插件升级 2.4.重启 ...

最新文章

  1. linux之uniq 命令详解
  2. BZOJ 4386 Luogu P3597 [POI2015]Wycieczki (矩阵乘法)
  3. Validate使用及配置
  4. java拳皇地下城_拳皇(Java简单的小程序)代码实例
  5. 计算机数据库管理基本知识,2015年计算机四级考试《数据库技术》基础知识:概念篇...
  6. setState是同步的还是异步的(都有)
  7. 关于Darwin接入私有协议、私有SDK码流的讨论
  8. 类名引用static变量好处
  9. [asp.net控件]asp.net页面传值汇总
  10. FileUpload1.PostedFile.FileName 获取的文件名
  11. 家里可以装网吧无盘服务器吗,我在家里想装个网吧系统,求好的网吧系统。请专业的来个连接我...
  12. VUE输入 身份证 号,获取出生年月日
  13. excel单元格的合并与计算
  14. 关于计算机英语演讲ppt模板,英语演讲ppt模板(英语演讲8分钟ppt模板) 最新免费版...
  15. QtCreator中Kits选项变灰,有感叹号
  16. windows那些讨厌的CPU占用进程
  17. 计算机专业考研面试题大全———持续更新中
  18. 剑灵洪门崛起怎么修改服务器,剑灵洪门崛起新手操作指南 剑灵洪门崛起新手必看攻略...
  19. vivado编译报错:[IP_Flow 19-167] Failed to deliver one or more file(s).
  20. 小宝贝流鼻血,治疗方法

热门文章

  1. (转)es 聚合查询并返回每个组的数据
  2. java分布式对象RMI应用测试用例
  3. SuperMap GIS查询
  4. eclipse运行报java.lang.OutOfMemoryError: PermGen space解决方法
  5. aws部署ssh_将Quarkus应用程序部署到AWS Elastic Beanstalk
  6. java序列化深克隆_如何在内存序列化中使用Java深克隆对象
  7. java自动生成类_自动生成优化的Java类专业知识
  8. java redis 命令_命令界面:使用Java中的动态API处理Redis
  9. 安装openstack_午餐前如何安装OpenStack Cloud
  10. 设计模式示例_桥梁设计模式示例