`
lizhensan
  • 浏览: 369469 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

如何在Eclipse PDE的Error Log View中显示自己的Log

 
阅读更多

开发任何软件都不得不处理Exception和Log,Eclipse Plug-in也是如此。不过幸运的是,Eclipse PDE提供了记录及显示Exception和Log的机制:Error Log View。作为Eclipse SDK的一部分,PDE的普及率很高,所以除非你是要做RCP,不然的话用Error Log View处理Exception和Log应该是你的最佳选择。当然,这也带来了对PDE的依赖性。

使用Error Log View实际上非常简单,每个Plug-in的Activator类都有一个getLog()方法,返回一个ILog对象,这个对象就可以把Exception和Log记录到Error Log View中。ILog对象最主要的方法就是log了,顾名思义,它接收一个IStatus类型的对象,并把其代表的状态记录下来。Eclipse和许多常用的插件(如JDT)实现了很多的IStatus,最common的就是Status类,我们可以简单地使用它,或创建自己的IStatus实现。Status的构造函数有5个参数,具体如下:

  • int severity:日志的级别,可以是OK、ERROR、INFO、WARNING或CANCEL。这些常量都定义在Status类中。
  • String pluginId:当前Plug-in的ID。
  • int code:Plug-in指定的状态码,一般如果无需指定,则使用Status.OK。
  • String message:日志信息。
  • Throwable exception:记录的Exception,如果没有Exception,则传入null。

 

这样的话,我们就可以编写一个LogUtil类来负责日志工作,代码如下:

 

Java代码  收藏代码
  1. import org.eclipse.core.runtime.ILog;  
  2. import org.eclipse.core.runtime.Status;  
  3.   
  4. public class LogUtil {  
  5.   
  6.     private static LogUtil instance = null;  
  7.   
  8.     private ILog logger = null;  
  9.   
  10.     private LogUtil() {  
  11.         logger = Activator.getDefault().getLog();  
  12.     }  
  13.   
  14.     public static LogUtil getInstance() {  
  15.         if (instance == null) {  
  16.             instance = new LogUtil();  
  17.         }  
  18.   
  19.         return instance;  
  20.     }  
  21.   
  22.     public void log(int severity, String message, Throwable exception) {  
  23.         logger.log(new Status(severity, Activator.getDefault().getPluginID(),  
  24.                 Status.OK, message, exception));  
  25.     }  
  26.   
  27.     public void logCancel(String message, Throwable exception) {  
  28.         logger.log(new Status(Status.CANCEL, Activator.getDefault()  
  29.                 .getPluginID(), Status.OK, message, exception));  
  30.     }  
  31.   
  32.     public void logError(String message, Throwable exception) {  
  33.         logger.log(new Status(Status.ERROR, Activator.getDefault()  
  34.                 .getPluginID(), Status.OK, message, exception));  
  35.     }  
  36.   
  37.     public void logInfo(String message, Throwable exception) {  
  38.         logger.log(new Status(Status.INFO,  
  39.                 Activator.getDefault().getPluginID(), Status.OK, message,  
  40.                 exception));  
  41.     }  
  42.   
  43.     public void logOk(String message, Throwable exception) {  
  44.         logger.log(new Status(Status.OK, Activator.getDefault().getPluginID(),  
  45.                 Status.OK, message, exception));  
  46.     }  
  47.   
  48.     public void logWarning(String message, Throwable exception) {  
  49.         logger.log(new Status(Status.WARNING, Activator.getDefault()  
  50.                 .getPluginID(), Status.OK, message, exception));  
  51.     }  
  52. }  
  53. http://hintcnuie.iteye.com/blog/787932
 除此之外,我们还可以通过ILog的addLogListener方法和removeLogListener方法为日志动作添加和删除事件监听器。这些Listener可以帮助我们在日志记录完成后做一些额外的事情。例如,如果记录的是ERROR级别的Log,那么我们可能要弹出一个Alert对话框告诉用户出现了错误,但如果是INFO级别,就没这个必要了。

分享到:
评论

相关推荐

    Eclipse PDE Export ANT Script (CI)

    NULL 博文链接:https://mwhgjava.iteye.com/blog/849763

    PDE在图像去噪中的应用

    PDE在图像去噪中的应用

    org.eclipse.pde.genericeditor.extension..jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    算子半群及其在pde中的应用

    有关算子半群方法的很经典的一部国外专著,书中语言简练易懂,适合低年级的pde研究生,当然,也是pde研究者的一部不错的参考书

    org.eclipse.pde.api.tools.annotations..jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    eclipse-pde-gradle-tutorial:有关转换Eclipse PDE项目的Gradle教程(Eclipse IDE中无头+)

    开发在Eclipse IDE中进行 用法 该存储库是逐步构建的。 每个步骤都在特定分支中表示。 master分支是教程的初始状态。 随后的每个分支都会累积一些到最终状态。 要进行后续操作,您只需检查“ Tutorial部分即可,...

    MATLAB PDE工具箱在半导体器件中的应用研究.pdf

    MATLAB PDE工具箱在半导体器件中的应用研究.pdf

    Eclipse简体中文教程

    Eclipse 是一个开放源代码的、... Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。

    org.eclipse.pde.api.tools.ee.cdcfoundation10.jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    org.eclipse.pde.nl_zh_4.20.0.v20210630020001.jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    org.eclipse.pde.api.tools.ee.osgiminimum10..jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    org.eclipse.pde.api.tools.ee.cdcfoundation11..jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    org.eclipse.pde.api.tools.ee.osgiminimum12..jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    org.eclipse.pde.api.tools.ee.osgiminimum11..jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    eclipse带svn插件

    Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件...

    org.eclipse.pde.build.nl_zh_4.20.0.v20210630020001.jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    org.eclipse.pde.runtime.nl_zh_4.20.0.v20210630020001.jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    org.eclipse.pde.core.nl_zh_4.20.0.v20210630020001.jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    org.eclipse.pde.ui.nl_zh_4.20.0.v20210630020001.jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    org.eclipse.pde.launching.nl_zh_4.20.0.v20210630020001.jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

Global site tag (gtag.js) - Google Analytics