Eclipse PDE日志记录丢失方法

时间:2015-04-20 01:32:30

标签: java eclipse eclipse-plugin eclipse-pde

所以我正在阅读FAQ

它提到了getLog()方法,该方法不可用。我目前的课程基本上是AbstractHandler。我该怎么用呢?

2 个答案:

答案 0 :(得分:2)

如果您让Eclipse为您创建Activator类并且您指定了“此插件将为UI做出贡献”选项,那么该类将类似于:

public class Activator extends AbstractUIPlugin {

    // The shared instance
    private static Activator plugin;

    public Activator() {
    }

    @Override
    public void start(final BundleContext context) throws Exception {
        super.start(context);
        plugin = this;
    }

    @Override
    public void stop(final BundleContext context) throws Exception {
        plugin = null;
        super.stop(context);
    }

    public static Activator getDefault() {
        return plugin;
    }
}

然后你可以打电话

ILog log = Activator.getDefault().getLog();

访问日志界面

答案 1 :(得分:0)

来自FAQ:" 使用从插件"继承的getLog,从插件的类访问插件的日志。这意味着,您需要从自己的插件类中访问日志。

所以,基本上,您需要添加AbstractHandler以下内容:

ILog log = MyPluginClass.getInstance().getLog();

请记住,getInstance()不是标准方法,但插件应该作为单例工作。所以,您可能需要添加此方法。

该方法记录在Eclipse Help中,如果您对Eclipse及其实现有任何疑问,这是一个很好的参考文档。