터미널 컬러 로그 메시지 출력 팁 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)를 통해 윈도우 화면 미러링 방법

쉽게 설명한 파티클 필터(particle filter) 동작 원리와 예제

base64 인코딩 디코딩 예제 c 소스

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