Show System.out.println output with another color

拜拜、爱过 提交于 2020-01-09 05:18:05

问题


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

with syserr I have this


回答1:


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...




回答2:


Please Refer the following code.Also refer this link for ANSI color codes. 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");
    }   
}



回答3:


Please have a look at Jansi (Jansi's Github)

Jansi is a small java library that allows you to use ANSI escape sequences to format your console output which works even on windows.




回答4:


It seems that you want to highlight the output of System.out.println() using different colours in order to help you to debug , why don't redirect all the output of System.out to a file in your program entry point :

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

Then using some free and portable real-time log file monitoring tool that has configurable highlighting function using different colours , such as BareTail , to view this file.



来源:https://stackoverflow.com/questions/7091003/show-system-out-println-output-with-another-color

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!