首页 文章

Eclipse RCP在没有控制台打印的情况下在LogView中添加条目

提问于
浏览
0

我想在“错误日志”视图中添加日志行而不在控制台中打印这些日志,这是因为我想通过log4j管理控制台日志 .

我们的想法是使用创建自定义 Logger :

  • 使用log4j在控制台中打印日志

  • 使用Eclipse RCP功能在"Error Log"视图中打印日志

  • 最终向用户显示错误对话框

我不想要Eclipse RCP控制台日志,因为在这种情况下我会在控制台中加倍日志 .

如何在“错误日志”视图中添加条目而不在控制台中打印它们?

--- UPDATE

使用控制台输出我的意思是以这种方式格式化的消息:

!ENTRY com.plugin.id 4 0 2014-10-15 11:37:04.314
!MESSAGE Error Messge

!STACK 0
---stack trace

我不希望在控制台输出中看到这些消息,但我只想在LogView中看到该条目:

enter image description here

1 回答

  • 0

    使用Eclipse ILog 接口写入Eclipse日志 .

    如果您的插件具有源自 Plugin (或 AbstractUIPlugin )的Activator,则可以使用该日志获取日志

    Plugin.getLog();
    

    你也可以使用

    ILog log = Platform.getLog(bundle);
    

    其中 bundle 是你的插件 Bundle - 你可以得到这个:

    Bundle bundle = Platform.getBundle("plugin id");
    

    一旦你使用 ILog

    IStatus status = new Status(IStatus.ERROR, "plugin id", error code, "Message", throwable);
    
    log.log(status);
    

    Status 有几个不同复杂性的构造函数,我已经展示了最一般的 .

    对于Eclipse e4应用程序,您还可以使用 StatusReporter .

相关问题