問題
- Eclipseに自作プラグインを入れてEclipseを通常起動させても、標準出力・標準エラー出力が表示されない。
つまり System.out.println を用いてデバッグメッセージを表示しようと思っても、画面に表示されない。 - java.util.logging.Loggerを使おうと思っても、やっぱり標準出力が表示できないので無意味。
もし標準出力が出るようになっても、ロギングレベルの設定方法が分からない。(まさか常にsetLevel(Level.ALL)するわけにも行かないですし)
やりたいこと
デバッグしたいなあ、と思ったときに、プラグインを再コンパイルせずに、デバッグメッセージをターミナルへ表示したい解決策
$ eclipse -debug
でデバッグモードで起動できます。Macならこんな感じ。
$ /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse -debug
さらに、 -consolelog オプションを付けると、標準出力がコンソールへ接続されます。
プラグインのデバッグメッセージの表示のON/OFFをフラグ化
フラグ化することで、プラグインの再コンパイルなしにデバッグメッセージのON/OFFを制御できるようになります。
こんなクラスを作ります。
/** * .options読み込みクラス * @author uchan * */ public class DebugOptions { public static final boolean verbose; static { verbose = Boolean.parseBoolean(Platform.getDebugOption( "com.github.uchan_nos.c_helper/verbose")); } }
プログラム中では
if (DebugOptions.verbose) { logger.fine("debug message"); }
という風に使います。
あとはこんな感じの設定ファイルを作ります。
~/eclipse.options
あとはこんな感じの設定ファイルを作ります。
~/eclipse.options
# Output verbose messages com.github.uchan_nos.c_helper/verbose=true
そして、Eclipseの -debug オプションの引数として指定します。
$ eclipse -debug ~/eclipse.options
起動ログに
Debug options:
file:/Users/uchan/eclipse.options loaded
という表示があれば成功です。
0 件のコメント:
コメントを投稿