log level 지정하여 출력하기


log level 지정하여 출력하기

개발을 하다 보면 피치 못하게 많은 정보를 출력하게 된다. 필요 없는 부분을 전부 #define 으로 묶어 제거를 하면, 향후 상용으로 출시 된 이후 문제점 분석에 어려움을 겪게 된다. 따라서 내부적으로 로그 레벨을 저장해 두고 출시시에는 레벨을 올려 두고, 문제 발생시 해당 레벨 값만 조정하여 출력을 할 수 있어야 할 필요가 있다. 이를 위하여 먼저 로그 레벨을 정의하자. 필요에 따라 더 세분화 하여도 된다. typedef enum { LOG_DEV = 0, LOG_VERVOSE, LOG_INFO, LOG_DEBUG, LOG_ERROR, LOG_NONE } log_level_e; 로그를 출력하는 MACRO를 만들어 보자. 출력을 위하여서는 stdout, stderr있는데 이 2가지는 내부 buffer 사용과 출력 속도에서 차이가 있어 장단점이 있다. stdout : 내부 buffer가 있어 실시간으로 출력이 되지 않지만 프로그램의 부하를 덜 준다. 일반적인 출력으로 사용하면 된다....


#arg #debug #level #log #macro #Variable #레벨 #로그

원문링크 : log level 지정하여 출력하기