PC통신 시절, 각종 ANSI 들 기억 하시나요.
로그 메시지 이쁘게 만드는 거 귀찮아서 색상 입히기를 다시 기억해냈습니다. 이런 녀석들을 참고해서 만들고 있습니다.
ANSI Color logging with log4j for any appender Xterm Control Sequences
맨날 거무튀튀하고 허연 로그 메시지 보느라 지겨우신 분들을 위해 ANSI 를 기억하기~
System.console().printf("안녕하세요. \u001b[31;1m%s\u001b[0m은 빨갛고 두껍습니다%n", "요것");
$TERM xterm, ansi 일 때 잘 보입니다.
Microsoft Windows 에서는 escape 문자가 그대로 보일텐데요. NT 베이스는 지원하지 않는답니다. Wikipedia 설명을 보면 System32/Config.NT 파일에 DEVICE=%SystemRoot%\system32\ANSI.SYS 를 넣어주면 된다고 하는데.. 재부팅 안하니까 적용안되는군요.
Windows 에서는 SetConsoleTextAttribute 를 써주세요. 누가 만들어 놓은 소스코드도 있네요.