websocket 클라이언트 (C에서 libwebsockets 사용)를 구현하려고합니다. cmake를 사용하여 소프트웨어 컴파일 프로세스를 제어하고 있습니다.Libwebsockets로 디버그 로깅을 활성화하는 방법은 무엇입니까?
내 질문에 간단합니다 : 어떻게 Libwebsockets와 디버그 로깅을 활성화하려면?
우선 컴파일하고 문서 주에 말했듯이 libwebsockets를 설치 LWS 구축에 대한 :
는, 컴파일 우선 순위가 낮은 디버그 메시지 에 대한 디버그 정보 및 _DEBUG 빌드 사용하려면
$ cmake .. -DCMAKE_BUILD_TYPE = Libwebsock에서 DEBUG
디버그 로깅
는 또한 실제로 로그 문자열을 방출 당신이 에 사용자 정의 콜백을 제공 할 수 lws_set_log_level API를 사용하여 : LWS (https://libwebsockets.org/lws-api-doc-master/html/md_README.coding.html) 코딩에 대한 ETS 2.1 문서 노트. 기본적으로 stderr에 보내는 내부 함수 emit 함수를 가리 킵니다. NULL로 설정하면 대신 그대로 남습니다.도우미 함수 lwsl_emit_syslog()가 라이브러리에서 으로 내보내 져 syslog에 로깅이 간단 해집니다. 여전히 setlogmask, openlog 을 사용하고 사용자 코드에 closelog를 사용해야합니다.
로깅 API는 사용자 코드에서 사용할 수 있습니다. lwsl_info
lwsl_err (...) lwsl_warn (...) lwsl_notice (...) (...) lwsl_debug (...) 통보와 정보의 차이는 기본적으로 기록 될 것이다 통지 입니다 info는 기본적으로 무시됩니다.
당신이
$ cmake .. -DCMAKE_BUILD_TYPE = DEBUG 다음 통지 아래 수준을 기록 실제로 컴파일되지 않습니다.
처럼하지 않고, 즉 정의 _DEBUG, 건물하지 않는 경우 this (official) example, 내 websocket 주요 기능의 시작 부분에 lws_set_log_level(10, NULL);
넣어.
CMakeLists.txt :
cmake_minimum_required(VERSION 3.6)
project(foo)
set(CMAKE_C_STANDARD 11)
set(CMAKE_BUILD_TYPE DEBUG) #For CLion IDE but i'm pretty sur it does nothing.
set(SOURCE_FILES
websocket.c
websocket.h
main.c)
add_executable(foo ${SOURCE_FILES})
target_link_libraries(foo websockets)
그런 다음 내가 cmake 실행 cmake .. -DCMAKE_BUILD_TYPE=DEBUG
make
모든 것이 잘 작동, 내 웹 소켓 클라이언트가 좋아 보인다.
하지만 디버그 로그가 없습니다 ... 무엇이 없습니까?Github에서의 LWS 팀에