Java Eclipse跟踪。什么是最佳实践?如何获取DebugTrace实例?
我正在研究RCP应用程序,它在Eclipse4平台(Luna)上工作。我需要找出如何获取在我的应用程序中实现跟踪的实例。我找到了以下方法 -Java Eclipse跟踪。什么是最佳实践?如何获取DebugTrace实例?,java,eclipse,eclipse-rcp,Java,Eclipse,Eclipse Rcp,我正在研究RCP应用程序,它在Eclipse4平台(Luna)上工作。我需要找出如何获取在我的应用程序中实现跟踪的实例。我找到了以下方法 - 使用ILog接口,可以通过Platform.getLog调用获取。伊洛格很有道理。它将打印到位于.metadata中的.log文件,但 它获取IStatus对象作为参数。所以,为了记录要记录的每一行,我必须创建Status对象的新实例。而且它不能自动放置有关调用方的信息,如类名等(如Log4j、LogBack) 我发现接口DebugTrace为跟踪提供了
- 使用ILog接口,可以通过Platform.getLog调用获取。伊洛格很有道理。它将打印到位于.metadata中的.log文件,但 它获取IStatus对象作为参数。所以,为了记录要记录的每一行,我必须创建Status对象的新实例。而且它不能自动放置有关调用方的信息,如类名等(如Log4j、LogBack)
- 我发现接口DebugTrace为跟踪提供了良好的功能。可以通过DebugOptions inerface(DebugOptions.newDebugTrace())获得。遗憾的是,我找不到合适的方法来获取调试选项的实例
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);
希望这有帮助…文件是否强制提供选项?我只能在启动应用程序时切换-debug选项吗?。还有一个问题文件。应该为应用程序中的每个插件创建选项,或者为整个应用程序创建一个选项。您需要为每个插件执行此操作。也可以在运行时更改选项。我认为有一个标准的首选项页面,您可以包括、启用和修改跟踪选项。(我会在找到信息后更新我的答案)保罗,非常感谢
# 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