[C, Linux] syslog를 이용한 Log출력

Reading time ~1 minute

Header파일 추가

#include <syslog.h>

사용 예제

syslog(LOG_ERR, "[Error : %s][__LINE__ : %d] %s",__FILE__, __LINE__, __FUNCTION__);

printf처럼 사용하세요. 문자열 value를 출력하고 싶다면 %s를 사용

syslog(LOG_ERR, "[Error : %s][__LINE__ : %d] [__FUNCTION__ : %s] value : ",__FILE__, __LINE__, __FUNCTION__, value);

/var/log/messages 로그확인

tail -f /var/log/messages

tail은 파일의 마지막 부분을 출력하는 명령어.

옵션

  • f : 마지막 10라인을 실시간으로 출력.
  • F : 파일 변동시 실시간 출력, 로그파일이 변하면 새로운 파일 오픈해서 출력.(명령어 재실행 필요 없음)

분석

sys/syslog.h Source를 보면 LOG_ERR는 에러의 상태를 나타냅니다.

#define	LOG_ERR		3	/* error conditions */

__FILE__이나 __LINE__ 처럼 __ Underscore 두개가 붙은건 문자열 상수 매크로입니다. 파일 이름, 라인 넘버 등을 출력할 수 있습니다. (변수라고 생각하고 코딩하세요 - 이유)

참고

immer는 객체 비구조화 문법(Object Destructuring)을 사용하면 동작하지 않는다.

## [immer](https://github.com/immerjs/immer)는 객체 비구조화 문법(Object Destructuring)을 사용하면 동작하지 않는다.아래는 redux에서 reducer쪽 immutable state를 immer...… Continue reading

2019 카카오 FE(Front-end) Meetup

Published on September 16, 2019

2019 카카오 개발자 컨퍼런스

Published on September 11, 2019