デバッグする大きなプロジェクトがあり、Eclipseの出力でSystem.out.println
メソッドを変更するために使用できる方法があるかどうか疑問に思いました。
例えば :
System.out.println("I want this to be red");
System.out.println("I want this to be blue");
System.out.println("I want this to be yellow");
System.out.println("I want this to be Magenta");
読みやすくするために。
EDIT
sysoutで私はこれを持っています
syserrで私はこれを持っています
Eclipse内では、最も簡単なアプローチは、赤にしたい行にSystem.err.println
を使用することです。これがデフォルトだと思います。 ([設定]-> [実行/デバッグ]-> [コンソール]で変更できます)。
もちろん、realコンソールで実行している場合、その違いは表示されませんが、thinkEclipseコンソールはANSIカラーエスケープシーケンスなどをサポートしています。
編集:Windowsコンソールの場合、 ANSIエスケープシーケンス が機能することを期待します。 hugelyポータブルではありませんが、それが問題にならない場合は、エスケープシーケンスを適切にカプセル化するクラスを作成するだけで、次のように呼び出すことができます。
ansiConsole.printRed("sample line in red");
ansiConsole.printBlue("sample line in blue");
(私はおそらく、これらのメソッドを、各呼び出し後に「現在の」色に戻すようにします。)
編集:コメントに記載されているように、 Jansi ライブラリはすでに存在するため、それを使用することをお勧めします。上記の方法はありませんが、それでもあなたが望むことをするでしょう...
次のコードを参照してください。ANSIカラーコードについては、このリンクも参照してください。 http://en.wikipedia.org/wiki/ANSI_escape_code
public class ColourConsoleDemo {
public static void main(String[] args) {
// TODO code application logic here
System.out.println("\033[0m BLACK");
System.out.println("\033[31m RED");
System.out.println("\033[32m GREEN");
System.out.println("\033[33m YELLOW");
System.out.println("\033[34m BLUE");
System.out.println("\033[35m Magenta");
System.out.println("\033[36m CYAN");
System.out.println("\033[37m WHITE");
}
}
Jansi ( Jansi's Github )をご覧ください
Jansiは小さなJavaライブラリであり、ANSIエスケープシーケンスを使用して、Windowsでも機能するコンソール出力をフォーマットできます。
デバッグを支援するために、System.out.println()
の出力をさまざまな色で強調表示したいようですが、System.out
のすべての出力をプログラムエントリポイントのファイルにリダイレクトしないのはなぜですか。 :
FileOutputStream fis = new FileOutputStream(new File("log.txt"));
PrintStream out = new PrintStream(fis);
System.setOut(out);
次に、 BareTail など、さまざまな色を使用して構成可能な強調表示機能を備えた、無料でポータブルなリアルタイムログファイル監視ツールを使用して、このファイルを表示します。