首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Libwebsockets启用调试日志记录?

如何使用Libwebsockets启用调试日志记录?
EN

Stack Overflow用户
提问于 2017-03-01 15:04:32
回答 1查看 4.5K关注 0票数 1

我正在尝试实现websocket客户端(使用C中的libwebsockets )。我用cmake来控制软件编译过程。

我的问题很简单:如何使用Libwebsockets启用调试日志记录?

首先,我编译并安装了libwebsocket,如关于构建lws的文档说明中所述:

中编译的低优先级调试消息,若要使用调试信息和_DEBUG进行编译,请使用 钱..。-DCMAKE_BUILD_TYPE=DEBUG

来自LibwebSocket2.1文档关于使用lws (README.coding.html)编码的说明:

调试测井 此外,使用lws_set_log_level api,您可以提供一个自定义回调以实际发出日志字符串。默认情况下,这指向发送到stderr的内部emit函数。将其设置为NULL,则保持原样。 帮助函数lwsl_emit_syslog()从库中导出,以简化登录到syslog。您仍然需要在用户代码中使用setlog掩码、openlog和closelog。 日志apis可用于用户代码。 Lwsl_err(.)Lwsl_warn(.)Lwsl_notice(.)Lwsl_info(.)Lwsl_debug(.)通知和信息之间的区别是,默认情况下通知将被记录,而信息在默认情况下被忽略。 如果您没有使用_DEBUG定义的构建,即没有此定义 钱..。然后,下面的-DCMAKE_BUILD_TYPE=DEBUG日志级别实际上不会在其中编译。

这个(官方)例子一样,我把lws_set_log_level(10, NULL);放在websocket主函数的开头。

CMakeLists.txt:

代码语言:javascript
复制
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:

代码语言:javascript
复制
cmake .. -DCMAKE_BUILD_TYPE=DEBUG
make

一切正常,我的websocket客户端看起来很好。

但我没有调试日志..。我错过了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-28 10:09:11

Tks到 lws-team on Github :

生成类型的调试将在生成期间停止删除更详细的日志类型。 您仍然需要在运行时使用lws_set_log_level()中的位图来启用它们.默认为7 (错误/警告/通知)

我误读了libwebsockets.h :

代码语言:javascript
复制
    enum lws_log_levels {
    LLL_ERR = 1 << 0,
    LLL_WARN = 1 << 1,
    LLL_NOTICE = 1 << 2,
    LLL_INFO = 1 << 3,
    LLL_DEBUG = 1 << 4,
    LLL_PARSER = 1 << 5,
    LLL_HEADER = 1 << 6,
    LLL_EXT = 1 << 7,
    LLL_CLIENT = 1 << 8,
    LLL_LATENCY = 1 << 9,
    LLL_USER = 1 << 10,

    LLL_COUNT = 11 /* set to count of valid flags */
};

就像安迪说的,缺省值是0000 0111,所以7.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42535181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档