10

System.out.printlnデバッグする大きなプロジェクトがあり、eclipse の出力でメソッドを変更するために使用できる方法があるかどうか疑問に思っていました

例えば ​​:

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で私はこれを持っています sysout

syserrで私はこれを持っています システムエラー

4

4 に答える 4

24

Eclipse 内で最も簡単な方法はSystem.err.println、赤くしたい行に使用することです。これがデフォルトだと思います。(設定 -> 実行/デバッグ -> コンソールで変更できます)。

もちろん、実際のコンソールで実行するとその違いは現れませんが、Eclipse コンソールは ANSI カラーエスケープシーケンスなどをサポートしていないと思います。

編集: Windows コンソールの場合、ANSI エスケープ シーケンスが機能することを期待しています。移植性はそれほど高くありませんが、それが問題にならない場合は、エスケープ シーケンスを適切にカプセル化するクラスを作成して、次のように呼び出すことができます。

ansiConsole.printRed("sample line in red");
ansiConsole.printBlue("sample line in blue");

(私はおそらく、これらのメソッドを呼び出しごとに「現在の」色に戻すようにします。)

編集:コメントに記載されているように、Jansiライブラリは既に存在するため、それを使用することもできます。上記の方法はありませんが、それでもあなたが望むことを行うと確信しています...

于 2011-08-17T10:05:55.153 に答える
2

JansiJansiのGithub)をご覧ください

Jansiは、ANSIエスケープシーケンスを使用して、Windowsでも機能するコンソール出力をフォーマットできる小さなJavaライブラリです。

于 2011-08-17T10:16:49.257 に答える
0

System.out.println()デバッグを支援するために、さまざまな色を使用して出力を強調表示したいようです。すべての出力をSystem.outプログラム エントリ ポイントのファイルにリダイレクトしないでください。

FileOutputStream fis = new FileOutputStream(new File("log.txt"));
PrintStream out = new PrintStream(fis); 
System.setOut(out);

次に、 BareTailなど、さまざまな色を使用して構成可能な強調表示機能を備えた、無料でポータブルなリアルタイム ログ ファイル監視ツールを使用して 、このファイルを表示します。

于 2011-08-17T11:13:47.977 に答える