用另一种颜色显示System.out.println输出

我有一个很大的项目要调试,我想知道是否有我可以用来改变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我有这个 SYSOUT

与syserr我有这个 SYSERR

在Eclipse中,最简单的方法是将System.err.println用于你想要变成红色的行 – 我相信这是默认的。 (您可以在首选项 – >运行/调试 – >控制台中更改它。

当然,当在真正的控制台中运行时,这种差异不会出现,但我不认为 Eclipse控制台支持ANSI颜色转义序列等。

编辑:对于Windows控制台,我希望ANSI转义序列能够工作。 它不是非常便携,但如果这不是问题,你可以创建一个类来适当地封装转义序列,所以你可以调用类似的东西:

 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的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); 

然后使用一些免费的便携式实时日志文件监控工具,它具有可配置的突出显示function,使用不同的颜色,如BareTail ,来查看此文件。