2

我目前正在开发一个 RCP Eclipse 应用程序。出于记录目的,我使用 SFL4J 而不是 log4j。对于我自己的代码,这很好用,因为我可以指定正确的记录器( LoggerFactory.getLogger ... logger.debug ...)。但是如何将所有插件日志重定向到同一位置,以便在我的 log4j-LogFile 中也可以看到其他 rcp 插件的所有异常。如何在我的日志文件中记录未捕获的异常?

我听说过有关 ILog 的一些信息,但我不知道如何将其重定向到我的 log4j/slf4j 实现。

那么在一个日志文件中记录所有插件消息的最佳方法是什么?

4

1 回答 1

4

要捕获整个平台的日志事件,请创建一个 ILogListener 实例并使用 Platform.addLogListener(ILogListener) 注册它。

至于记录未捕获的异常,一种方法是创建一个新的 ThreadGroup 并覆盖 uncaughtException(Thread t, Throwable e) 以记录异常。然后,您必须在该线程组中启动一个新线程并在其中执行所有其他操作。我在我的 IPlatformRunnable 实现的 run 方法中处理了这个问题。

于 2008-10-15T18:50:54.250 回答