gpt4 book ai didi

java - Eclipse 跟踪。最佳实践是什么?如何获取 DebugTrace 实例?

转载 作者:太空宇宙 更新时间:2023-11-04 06:14:31 26 4
gpt4 key购买 nike

我正在研究 RCP 应用程序,该应用程序在 Eclipse 4 平台(Luna)上运行。我需要找出如何获取在我的应用程序中实现跟踪的实例。我发现了以下方法 -

  • 使用ILog接口(interface),可以通过Platform.getLog调用获取。 ILog 有其道理。它打印到位于 .metadata 中的 .log 文件,但是它获取 IStatus 对象作为参数。因此,为了记录每一行,我必须创建 Status 对象的新实例。并且它不能自动添加有关调用者的信息,例如类名等(例如Log4j,LogBack)

  • 我发现 DebugTrace 接口(interface)为跟踪提供了良好的功能。可以通过 DebugOptions inerface(DebugOptions.newDebugTrace()) 获取。遗憾的是,我找不到获取 DebugOptions 实例的适当方法

最佳答案

要使用 DebugTrace,请将其添加到插件 Activator 中:

private DebugTrace tracer = null;

public static DebugTrace getTrace()
{
return plugin.tracer;
}

public void start(final BundleContext context) throws Exception
{
...

final Hashtable<String, String> properties = new Hashtable<String, String>(4);
properties.put(DebugOptions.LISTENER_SYMBOLICNAME, "org.eclipse.ui.trace"); //$NON-NLS-1$
context.registerService(
DebugOptionsListener.class.getName(),
new DebugOptionsListener()
{
@Override
public void optionsChanged(DebugOptions options)
{
tracer = options.newDebugTrace(context.getBundle().getSymbolicName());
}
}, properties);

您需要将 .options 文件添加到插件项目中,其中将包含您的日志记录选项:

# Editor-related tracing
com.acme.atf.app/trace/editor=false

#Start-up tracing
com.acme.atf.app/trace/startup=true

org.eclipse.core.jobs/jobs=true
org.eclipse.core.jobs/jobs/beginend=true
org.eclipse.core.jobs/jobs/errorondeadlock=true

希望这有帮助...

关于java - Eclipse 跟踪。最佳实践是什么?如何获取 DebugTrace 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28274178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com