2011-12-21 3 views
1

응용 프로그램 로그인에 syslog를 사용하려고합니다. 로깅을 사용하지 못하게하려면 컴파일 타임에 매크로를 사용해야합니다. syslog 기능을 사용하여이 작업을 수행 할 수 있습니까? 아니면 syslog를 자체 매크로/함수로 묶어야합니까? 우선 순위에 따라 로그 메시지를 비활성화/활성화하는 기능은 장점입니다.syslog 사용시 로깅 비활성화/활성화

답변

1

아마도 정의 블록에서 setlogmask에 대한 호출을 래핑 할 수 있습니다. 미래 시스템 로그 호출은 무시되어야 결정 마스크 (이하 "logmask")을 설정

setlogmask. 프로그램이 setlogmask를 호출하지 않은 경우 syslog는 모든 호출을 무시하지 않습니다. setlogmask를 사용하여 특정 우선 순위의 메시지가 나중에 무시되도록 을 지정할 수 있습니다. 이 같은

뭔가 : 답장을 보내

#ifdef LOG_LEVEL1 
setlogmask (LOG_UPTO (LOG_NOTICE)); 
#endif 
#ifdef LOG_LEVEL2 
setlogmask (LOG_UPTO (LOG_WARNING)); 
#endif 
+0

감사합니다. 나는 setlogmask에 대해 몰랐다. 이것은 제가 원했던 것이 아니지만 제가 얻을 수있는 최선책 인 것 같습니다. – Elektito