터미널 컬러 로그 메시지 출력 팁 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;

}

[실행 화면]


댓글

이 블로그의 인기 게시물

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

간단한 cfar 알고리즘에 대해

딥러닝을 사용한 로또 번호 예측 실험

windows 10에서 스마트폰 미러링으로 화면 녹화

UWB 레이더를 사용한 호흡수 측정 원리