2

現在、RCP Eclipse アプリケーションを開発しています。ロギングの目的で、log4j よりも SFL4J を使用しています。私自身のコードでは、正しいロガー ( LoggerFactory.getLogger ... logger.debug ...) を指定できるため、これはうまく機能します。しかし、log4j-LogFile でも他の rcp プラグインからのすべての例外を確認できるように、すべてのプラグイン ログを同じ場所にリダイレクトするにはどうすればよいでしょうか。キャッチされなかった例外をログ ファイルに記録するにはどうすればよいですか?

ILog について何か聞いたことがありますが、これを log4j/slf4j 実装にリダイレクトする方法がわかりません。

では、すべてのプラグイン メッセージを 1 つのログ ファイルに記録する最善の方法は何でしょうか?

4

1 に答える 1

4

プラットフォーム全体のログイベントをキャプチャするには、ILogListenerインスタンスを作成し、Platform.addLogListener(ILogListener)を使用して登録します。

キャッチされなかった例外のログ記録に関しては、新しいThreadGroupを作成し、uncaughtException(Thread t、Throwable e)をオーバーライドして例外をログに記録する方法があります。次に、そのスレッドグループで新しいスレッドを開始し、その中で他のすべてを実行する必要があります。私はIPlatformRunnableの実装のrunメソッドでこれを処理します。

于 2008-10-15T18:50:54.250 に答える