首页 > 解决方案 > 如何更改 libwebsockets 配色方案

问题描述

我正在使用 libwebsockets 库。这公开了某些写入日志文件的方法。 lwsl_warn(...)lwsl_err(...)lwsl_err(...) 命名最常见的。输出使用 ANSI 序列进行颜色编码。

有没有办法设置默认配色方案(除了重新编译库)?谢谢。

标签: libwebsockets

解决方案


我在 libwebsockets 源代码中四处寻找并找到了我的答案:颜色是硬编码的 - 所以我最初的问题的答案是“不”。

但是,配色方案并不难找到和编辑。它位于两个源文件中 - 其中一个是根据选项编译的:

libwebsockets/lib/core/logs.c

libwebsockets/lib/plat/optee/lws-plat-optee.c

只需编辑不言自明的表格:

static const char * const colours[] = {
    "[31;1m", /* LLL_ERR */
    "[36;1m", /* LLL_WARN */
    "[35;1m", /* LLL_NOTICE */ 
    "[32;1m", /* LLL_INFO */
    "[34;1m", /* LLL_DEBUG */
    "[33;1m", /* LLL_PARSER */
    "[33m",   /* LLL_HEADER */
    "[33m",   /* LLL_EXT */
    "[33m",   /* LLL_CLIENT */
    "[33;1m", /* LLL_LATENCY */
    "[0;1m",  /* LLL_USER */
    "[31m",   /* LLL_THREAD */
};

然后像以前一样构建。进入libwebsockets/build目录后,执行以下操作:

make clean
make && sudo make install
sudo ldconfig

... 享受!


推荐阅读