我有一个很大的项目要调试,我想知道是否有我可以用来改变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我有这个
答案 0 :(得分:21)
在Eclipse中,最简单的方法是将System.err.println
用于你想要变成红色的行 - 我相信这是默认的。 (您可以在首选项 - >运行/调试 - >控制台中更改它。
当然,当在真正的控制台中运行时,这种差异不会出现,但我不认为 Eclipse控制台支持ANSI颜色转义序列等。< / p>
编辑:对于Windows控制台,我希望ANSI escape sequences可以正常工作。它不是非常可移植,但如果这不是问题,你可以创建一个类来适当地封装转义序列,所以你可以调用类似的东西:
ansiConsole.printRed("sample line in red");
ansiConsole.printBlue("sample line in blue");
(我可能会让这些方法返回到每次调用后的“当前”颜色。)
编辑:正如评论中所述,Jansi库已经存在,所以您也可以使用它。它没有上述方法,但我确信它仍然可以做你想要的......
答案 1 :(得分:7)
请参阅以下代码。另请参阅此链接以获取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");
}
}
答案 2 :(得分:2)
请查看Jansi(Jansi's Github)
Jansi是一个小型java库,允许您使用ANSI转义 用于格式化控制台输出的序列,甚至可以在Windows上运行。
答案 3 :(得分:0)
您似乎想要使用不同颜色突出显示System.out.println()
的输出以帮助您进行调试,为什么不将System.out
的所有输出重定向到程序条目中的文件要点:
FileOutputStream fis = new FileOutputStream(new File("log.txt"));
PrintStream out = new PrintStream(fis);
System.setOut(out);
然后使用一些免费的便携式实时日志文件监控工具,该工具具有使用不同颜色的可配置突出显示功能,例如BareTail,以查看此文件。