Eclipse RCP在LogView中添加条目,无需控制台打印

时间:2014-10-15 07:24:45

标签: java logging eclipse-rcp

我想在"错误日志"中添加日志行。查看没有在控制台中打印这些日志,这是因为我想通过log4j来管理控制台日志。

我们的想法是使用创建一个自定义记录器:

  1. 使用log4j
  2. 在控制台中打印日志
  3. 在"错误日志"中打印日志使用Eclipse RCP功能查看
  4. 最终向用户显示错误对话框
  5. 我不想要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 :(得分: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