2011-07-27 7 views
0

私はEclipse RCPプラグインを開発中です。プラグインのコマンドの1つがデータ検証を行い、メッセージをEclipseエラー・ログ・ビューに記録します。プラグインからEclipseエラーログビューをクリア

コマンドを終了する前にエラーログをクリアすると、エラーログにはコマンドの最新の呼び出しに関連するエラーしか含まれないようにしたいです。

私はこれを行うことにより、ログファイル自体を削除できることを発見しました:

Platform.getLogFileLocation().toFile().delete(); 

ただし、ご想像のとおり、エラーログは、私はその後ろ潜入という理由だけで、その内容を更新していませんそのファイルを削除しました。

私はorg.eclipse.ui.internal.views.log.LogViewを覗き見していますが、ビューが更新される場所は見えますが、「&のクリアをトリガーする」という簡単な方法はありません。

エラーログにバッキングファイルを再確認して自分自身を更新する方法がありますか?または、ビューをクリアするための「合理的な」方法がありますか?

更新:自分自身を更新するために、ログを取得する 1わずか-場しのぎの方法はログ何か他のものにあります。

私は現在、私は理想的ではない古いログファイルを削除した直後に「情報」のメッセージをログに記録するんだけど、それは私が今のところ、なりたい場所に十分な私は近くに持っている:

Platform.getLogFileLocation().toFile().delete(); 
Plugin plugin = Plugin.getPlugin(); 
ILog log = plugin.getLog(); 
log.log(new Status(IStatus.INFO, Plugin.PLUGIN_ID, "Starting utility validation pass...")); 

答えて

1

まず、RCP製品を作成しているとします。ログビューはPDEプラグインからのものですので、RCPで意図的に指定しない限り、ユーザには使用できません。 開発起動設定には、起動時にその設定が含まれる場合がありますが、実際のRCPには含まれていない可能性があります。

LovViewクラスのプライベート/保護されたメンバーに深刻なハックがなければ、簡単な方法はありません。 RCPにLogViewを含める場合は、LogViewを拡張し、ログを削除する方法を公開するか、ログファイルを削除した直後に 'protected' reloadLog()を呼び出すことをお勧めします。

助けてくれること

+0

私たちはPDEからの見解を含んでいます。はい。 LogViewを拡張することは興味深い概念です。最初の問題は、ログビューが、私が取り組んでいるプラグインの中にはっきりとは存在しないことです。将来的に私のプラグインが複数のRCPベースのプロジェクトで使用される可能性があり、私のチームが使用する共通の "ターゲットプラットフォーム"に基づいています。ですから、今は他のプロジェクトにすべて "デフォルト"のログビューが含まれることを期待するのは合理的です。代わりに「カスタム」ログビューを使用するには、「ターゲットプラットフォーム」を調整する必要があります。間違いなく食物のために;ありがとうございました。 – stracka

+0

私の現在の "回避策"には "kludge"の2種類のフレーバーが含まれており、LogViewを拡張するという考えは良い考えです。 – stracka

関連する問題