터미널 컬러 로그 메시지 출력 팁 ANSI Color

본 글은 디버깅시 터미널에 로그 메시지를 출력할 때 중요한 로그를 보기 쉽게 컬러로 출력하는 방법을 싣고 있다.

ANSI Color 코드를 사용하여 터미널에 로그 메시지를 출력할 때 색을 설정할 수 있다. 
로그 텍스트 앞에 ANSI 컬러 코드를 넣고 로그 뒤에 ANSI Reset 코드를 넣어 주면 된다.
예를 들어 녹색 글을 쓰고 싶을 때 아래 와 같이 하면 된다.
printf("\x1b[30m log text \x1b[0m \n");

아래는 안시 컬러가 어떻게 출력되는지 보여주는 예제 코드다.

[소스 코드]

#include <stdio.h>
#include <stdlib.h>


#define ansi_reset "\x1b[0m"
#define ansi_bright "\x1b[1m"
#define ansi_dim "\x1b[2m"
#define ansi_underscore         "\x1b[4m"
#define ansi_blink "\x1b[5m"
#define ansi_reverse         "\x1b[7m"
#define ansi_hidden "\x1b[8m"

#define ansi_black "\x1b[30m"
#define ansi_red "\x1b[31m"
#define ansi_green "\x1b[32m"
#define ansi_yellow "\x1b[33m"
#define ansi_blue "\x1b[34m"
#define ansi_magenta         "\x1b[35m"
#define ansi_cyan "\x1b[36m"
#define ansi_white "\x1b[37m"

#define ansi_bg_black "\x1b[40m"
#define ansi_bg_red "\x1b[41m"
#define ansi_bg_green "\x1b[42m"
#define ansi_bg_yellow "\x1b[43m"
#define ansi_bg_blue "\x1b[44m"
#define ansi_bg_magenta "\x1b[45m"
#define ansi_bg_cyan "\x1b[46m"
#define ansi_bg_white "\x1b[47m"

int main(int argc, char *argv[])
{
printf("ansi color test\n");
printf("%s ansi_bright %s\n",ansi_bright,ansi_reset);
printf("%s ansi_dim %s\n",ansi_dim,ansi_reset);
printf("%s ansi_underscore %s\n",ansi_underscore,ansi_reset);
printf("%s ansi_blink %s\n",ansi_blink,ansi_reset);
printf("%s ansi_reverse %s\n",ansi_reverse,ansi_reset);
printf("%s ansi_hidden %s\n",ansi_hidden,ansi_reset);
printf("%s ansi_black %s\n",ansi_black,ansi_reset);
printf("%s ansi_red %s\n",ansi_red,ansi_reset);
printf("%s ansi_green %s\n",ansi_green,ansi_reset);
printf("%s ansi_yellow %s\n",ansi_yellow,ansi_reset);
printf("%s ansi_blue %s\n",ansi_blue,ansi_reset);
printf("%s ansi_magenta %s\n",ansi_magenta,ansi_reset);
printf("%s ansi_cyan %s\n",ansi_cyan,ansi_reset);
printf("%s ansi_white %s\n",ansi_white,ansi_reset);
printf("%s ansi_bg_black %s\n",ansi_bg_black,ansi_reset);
printf("%s ansi_bg_red %s\n",ansi_bg_red,ansi_reset);
printf("%s ansi_bg_green %s\n",ansi_bg_green,ansi_reset);
printf("%s ansi_bg_yellow %s\n",ansi_bg_yellow,ansi_reset);
printf("%s ansi_bg_blue %s\n",ansi_bg_blue,ansi_reset);
printf("%s ansi_bg_magenta %s\n",ansi_bg_magenta,ansi_reset);
printf("%s ansi_bg_cyan %s\n",ansi_bg_cyan,ansi_reset);
printf("%s ansi_bg_white %s\n",ansi_bg_white,ansi_reset);
return 0;

}

[실행 화면]


댓글

이 블로그의 인기 게시물

간단한 cfar 알고리즘에 대해

windows에서 간단하게 크롬캐스트(Chromecast)를 통해 윈도우 화면 미러링 방법

간단한 칼만 필터(Kalman Filter) 소스 코드와 사용 예제

안드로이드(android) 전체 화면 시계 앱(clock app) 예제 코드

mkfs.fat Device or resource busy 에러 해결법