2010-06-03 6 views
0

저는 Linux와 Windows에서 모두 사용되는 C++ 라이브러리를 가지고 있습니다. 사용자가 디버그 수준 (0 - 디버그 없음, 1 - 심각한 오류 만 ... 5 - 정보 디버그 정보)을 제어 할 수있게하려고합니다.C++ 라이브러리의 제어 디버그 레벨 - Linux

디버그 로그가 텍스트 파일로 인쇄됩니다.

Windows에서는 레지스트리 값 (DWORD DebugLevel)을 사용하여이를 수행 할 수 있습니다.

Linux에서도 잘 작동하는 대체품은 무엇입니까? (예 : Linux "레지스트리"와 같은 타사 도구가 없음).

미리 감사드립니다.

답변

0

라이브러리에 일종의 초기화 기능이 있습니까? 레벨을 해당 기능의 매개 변수로 만듭니다. API (즉, 클라이언트가 항상 "컨텍스트"를 통해 작동하도록 요구하는 경우)에 적합한 경우 전달 된 값을 컨텍스트 구조 또는 클래스에 저장하는 것이 이상적이지만 그렇지 않은 경우 글로벌이 적합 할 수 있습니다.

0

주로 개발 목적으로 사용하는 경우 (즉, 참조하는 "사용자"는 해당 코드의 최종 사용자가 아닌 라이브러리를 사용하는 개발자) 가장 빠르고 쉬운 방법은 환경 변수를 사용하는 것입니다.

최종 사용자가 제어하는 ​​경우 구성 파일을 읽은 후 앱 개발자가 코드에서 디버그 수준을 설정할 수 있도록 API를 확장해야합니다. 일반적으로 별도의 코드가 필요하지 않습니다. 프로그램이 사용하는 단 하나의 라이브러리에 대한 설정 파일.

0

log4cxx 프레임 워크를 사용할 수 있습니다. 이 파일을 통해 구성 할 수 있습니다. 아직 시도하지는 않았지만 Windows에서도 작동해야합니다.

0

/etc/YOURAPP 또는 ~/.YOURAPP 또는 ~/.config/YOURAPP의 구성 파일을 사용할 수 있습니다

관련 문제