— c, linux, debug, log, syslog — 1 min read
1#include <syslog.h>
1syslog(LOG_ERR, "[Error : %s][__LINE__ : %d] %s",__FILE__, __LINE__, __FUNCTION__);
printf
처럼 사용하세요. 문자열 value를 출력하고 싶다면%s
를 사용
1syslog(LOG_ERR, "[Error : %s][__LINE__ : %d] [__FUNCTION__ : %s] value : ",__FILE__, __LINE__, __FUNCTION__, value);
/var/log/messages
로그확인1tail -f /var/log/messages
tail
은 파일의 마지막 부분을 출력하는 명령어.
옵션
sys/syslog.h Source를 보면 LOG_ERR
는 에러의 상태를 나타냅니다.
1#define LOG_ERR 3 /* error conditions */
__FILE__
이나 __LINE__
처럼 __
Underscore 두개가 붙은건 문자열 상수 매크로
입니다. 파일 이름, 라인 넘버 등을 출력할 수 있습니다. (변수라고 생각하고 코딩하세요 - 이유)