C에서 디버깅용으로 로그 남기기
예전에 C 프로그램 디버깅용으로 간단하게 사용하던 방법입니다.
물론 아래 소스를 수정해서 파일로그로 남기고, 설정으로 properties파일에서 읽어오면 Log4j 방식과 비슷하네요 ^^. log4cxx 가 있긴 하지만요 ^^.
아래는 샘플링 소스입니다.
1. 로깅을 위한 간단한 소스 : a.c
2. 실행 결과
LOG_WARN 밑으로는 로그가 안찍히니깐 디버깅용으로 예전부터 썻던 방법입니다. ^^
물론 아래 소스를 수정해서 파일로그로 남기고, 설정으로 properties파일에서 읽어오면 Log4j 방식과 비슷하네요 ^^. log4cxx 가 있긴 하지만요 ^^.
아래는 샘플링 소스입니다.
1. 로깅을 위한 간단한 소스 : a.c
#include <stdio.h>
#define LOG_NONE 0
#define LOG_ERROR 1
#define LOG_WARN 2
#define LOG_INFO 3
#define LOG_LEVEL LOG_WARN
// 로그 레벨별로 관리
int log(char *msg, int level){
if (LOG_LEVEL >= level) {
printf("LOG %d: %s\n", level, msg);
}
return 0;
}
int main(int argc, char** argv){
printf("Hi Log Test!\n");
log("정말 에러났어 얼렁 찾아봐!", LOG_ERROR);
log("워닝이여, 나중에 시간나면 한번 봐~.", LOG_WARN);
log("흐미! 빨랑 테스트 끝났으면 지워버려.", LOG_INFO);
return 0;
}
2. 실행 결과
LOG_WARN 밑으로는 로그가 안찍히니깐 디버깅용으로 예전부터 썻던 방법입니다. ^^
[mimul.com]/home/mimul/> ./a
Hi Log Test!
LOG 1: 정말 에러났어 얼렁 찾아봐!
LOG 2: 워닝이여, 나중에 시간나면 한번 봐~.








