`

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

阅读更多
Platform: Eclipse 3.2

开发任何软件都不得不处理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类来负责日志工作,代码如下:

<!---->
import org.eclipse.core.runtime.ILog;
import org.eclipse.core.runtime.Status;

public class LogUtil {

    
private static LogUtil instance = null;

    
private ILog logger = null;

    
private LogUtil() {
        logger = Activator.getDefault().getLog();
    }

    
public static LogUtil getInstance() {
        
if (instance == null) {
            instance = 
new LogUtil();
        }

        
return instance;
    }

    
public void log(int severity, String message, Throwable exception) {
        logger.log(
new Status(severity, Activator.getDefault().getPluginID(),
                Status.OK, message, exception));
    }

    
public void logCancel(String message, Throwable exception) {
        logger.log(
new Status(Status.CANCEL, Activator.getDefault()
                .getPluginID(), Status.OK, message, exception));
    }

    
public void logError(String message, Throwable exception) {
        logger.log(
new Status(Status.ERROR, Activator.getDefault()
                .getPluginID(), Status.OK, message, exception));
    }

    
public void logInfo(String message, Throwable exception) {
        logger.log(
new Status(Status.INFO,
                Activator.getDefault().getPluginID(), Status.OK, message,
                exception));
    }

    
public void logOk(String message, Throwable exception) {
        logger.log(
new Status(Status.OK, Activator.getDefault().getPluginID(),
                Status.OK, message, exception));
    }

    
public void logWarning(String message, Throwable exception) {
        logger.log(
new Status(Status.WARNING, Activator.getDefault()
                .getPluginID(), Status.OK, message, exception));
    }
}

除此之外,我们还可以通过ILog的addLogListener方法和removeLogListener方法为日志动作添加和删除事件监听器。这些Listener可以帮助我们在日志记录完成后做一些额外的事情。例如,如果记录的是ERROR级别的Log,那么我们可能要弹出一个Alert对话框告诉用户出现了错误,但如果是INFO级别,就没这个必要了。



Allen Young 2006-10-05 15:36 发表评论
分享到:
评论

相关推荐

    Eclipse PDE Export ANT Script (CI)

    在软件开发的持续集成(CI)环境中,Eclipse PDE Export ANT Script是一种非常有用的技术,它允许开发者通过ANT构建脚本来自动化插件的打包和发布过程。 ANT是Apache开源组织提供的一款Java项目构建工具,它使用XML...

    RCP、PDE、Eclipse插件、模态、阻塞Eclipse平台、扩展点知识

    "模态"和"阻塞Eclipse平台"通常是指在Eclipse中,某些操作或对话框会阻止用户与工作台的其余部分交互,直到该操作完成或对话框关闭。例如,当打开一个模态对话框时,用户无法执行其他任务,必须先处理当前的对话框。...

    Eclipse基础教程(中文)

    而PDE(Plug-in Development Environment)插件则用于开发Eclipse自己的插件,扩展其功能。 在团队协作方面,Eclipse集成了版本控制系统,如Git或SVN,方便开发者进行代码的版本管理和协同工作。通过团队提供者...

    eclipse3.4中文插件

    在这个版本中,Eclipse 提供了众多改进和新特性,以提升开发者的体验和效率。 中文插件对于中国开发者来说至关重要,它使得Eclipse的用户界面可以转换为简体或繁体中文,帮助开发者更方便地理解和操作Eclipse的各项...

    eclipse4.4.2中文离线汉化包

    【标题】"eclipse4.4.2中文离线汉化包"涉及到的是Eclipse集成开发环境的一个中文语言包,用于将原本英文界面的Eclipse转换为中文显示,方便中文用户进行开发工作。Eclipse 4.4.2是Eclipse的Luna版本,发布于2014年,...

    java 开发视图插件(View) eclipse

    Java开发视图插件在Eclipse中的应用是一个关键的话题,特别是在构建复杂的集成开发环境中。Eclipse作为一个开源且功能强大的Java IDE,提供了丰富的扩展机制,允许开发者通过插件自定义工作台视图,以满足特定的开发...

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

    算子半群及其在偏微分方程(PDE)中的应用是数学领域中一个高级而重要的主题,它主要涉及到泛函分析、偏微分方程和动力系统等数学分支。为了详细说明这一领域中的知识点,下面将展开来介绍相关的理论和应用。 首先...

    自己动手写开发工具--基于Eclipse的工具开发.zip

    Eclipse插件开发主要依赖于Eclipse Plug-in Development Environment (PDE),这是一个集成在Eclipse中的工具集,提供了创建、调试和部署Eclipse插件所需的全部功能。 首先,你需要了解Eclipse的工作台模型...

    Eclipse 3.6 中文包

    Eclipse是一款广泛使用的开源集成开发环境(IDE),主要用于Java编程,但通过插件也可支持其他编程语言。Eclipse 3.6,代号为...无论是初学者还是经验丰富的开发者,都能在Eclipse 3.6中找到适合自己的工作环境。

    eclipse api 帮助文档

    在`Eclipse_3.3_API.chm`这个帮助文档中,你可以找到以下关键知识点: 1. **Eclipse插件系统**:Eclipse的核心设计理念之一就是模块化,通过插件来实现功能的扩展。PDE提供了创建、构建、调试和部署Eclipse插件的...

    denosing-matlab.rar_PDE去噪_matlab pde denosing_pde_pde denosing

    标题中的"denosing-matlab.rar"表明这是一个与MATLAB相关的去噪算法,特别是涉及到偏微分方程(PDE)的去噪方法。...通过深入学习和应用这个程序,可以增进对PDE方法在去噪应用中的理解和实践能力。

    eclipse 3.4.1 中文包

    2. 找到你的Eclipse安装目录,通常在Windows系统中是`C:\Program Files\eclipse`或者用户自定义的位置。 3. 解压缩下载的中文包,你会看到`features`和`plugins`两个目录。 4. 将解压出的`features`目录下的所有内容...

    dbeaver在eclipse上运行所需要的依赖

    安装完成后,DBeaver可以在Eclipse的工作区中配置各种选项,如连接设置、显示样式、键盘快捷键等。用户可以根据个人喜好和工作需求进行定制。 9. **更新和维护**: DBeaver定期发布新版本,包含新功能、修复和...

    打造基于Eclipse的IDE产品

    在Eclipse架构中,UI部分通常与功能部分分离,以便于插件开发者可以在不影响其他部分的情况下独立地开发和更新UI。通过Eclipse插件开发环境(PDE),开发者可以构建、调试并运行自己的Eclipse插件。PDE建立在Java...

    eclipse插件开发3个demo

    在这个“eclipse插件开发3个demo”中,我们可以深入学习如何利用Eclipse Rich Client Platform (RCP) 和 Eclipse Plug-in Development Environment (PDE) 来创建自定义工具和功能。以下是对每个知识点的详细说明: ...

    Eclipse中搭建Felix运行环境

    在Eclipse中,选择"Help" -&gt; "Eclipse Marketplace",搜索"PDE",找到并安装"Plug-in Development Environment"。安装完成后,重启Eclipse。 2. 安装Felix插件:在Eclipse的"Help"菜单中选择"Install New Software...

    eclipse3.3.2的中文语言包.rar

    在这个压缩包中,主要的文件应该是名为"eclipse"的文件夹,里面包含了Eclipse的中文语言资源。 安装步骤如下: 1. 找到你的Eclipse安装目录,通常在你的计算机上是一个包含"Eclipse"文件夹的位置。 2. 将解压后的...

    eclipse3.5全功能中文语言包

    2. **PDE(Plug-in Development Environment)**:PDE是用于构建Eclipse插件的工具集,在Galileo版本中,PDE提供了更强大的插件开发和调试功能,简化了插件的开发流程。 3. **WTP(Web Tools Platform)**:WTP是...

    Eclipse3.5简体中文包

    Eclipse3.5版本,又被称为Galileo,是Eclipse组织在2009年发布的一个重要更新。这个版本引入了许多新特性,优化了性能,并提升了用户体验。 1. **Eclipse3.5的特性**: - **改进的UI**:Eclipse3.5对用户界面进行...

Global site tag (gtag.js) - Google Analytics