我正在使用libwebsockets库。这暴露了某些写入日志文件的方法。lwsl_warn(...)
,lwsl_err(...)
和lwsl_err(...)
列举最常见的。输出使用ANSI序列进行颜色编码。
是否有一种方法可以设置默认配色方案(而不是重新编译库)?谢谢。
我在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
…尽情享受吧!