Show System.out.println output with another color

Wassim AZIRAR picture Wassim AZIRAR · Aug 17, 2011 · Viewed 57.3k times · Source

I have a big project to debug, and I was wondering if there is anyway I could use to change the System.out.println method in the output of eclipse

for example :

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

for more readability.

EDIT

with sysout I have this sysout

with syserr I have this syserr

Answer

Jon Skeet picture Jon Skeet · Aug 17, 2011

Within Eclipse, the simplest approach would be to use System.err.println for lines you want to be in red - I believe that's the default. (You can change it in Preferences -> Run/Debug -> Console).

That difference won't show up when running in a real console of course, but I don't think the Eclipse console supports ANSI colour escape sequences etc.

EDIT: For the Windows console, I'd expect ANSI escape sequences to work. It's not hugely portable, but if that's not a problem, you could just create a class to encapsulate the escape sequences appropriately, so you could call something like:

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

(I'd probably make those methods return back to whatever the "current" colour was after each call.)

EDIT: As noted in comments, the Jansi library already exists, so you might as well use that. It doesn't have the methods described above, but I'm sure it'll still do what you want...