怎么在自己的网站上做漂浮链接,随州网络推广,黄村专业网站开发公司,软件开发用什么语言wow-debug文件说明
项目地址#xff1a;https://gitee.com/wow-iot/wow-iot7本文件的的功能为输出打印信息#xff0c;目前架构debug信息按照模块名称进行区别使用#xff0c;且支持打印级别设置#xff1b;加入shell指令#xff0c;可通过debug XXX on/off 来实时开启或…wow-debug文件说明
项目地址https://gitee.com/wow-iot/wow-iot7本文件的的功能为输出打印信息目前架构debug信息按照模块名称进行区别使用且支持打印级别设置加入shell指令可通过debug XXX on/off 来实时开启或者关闭模块的打印信息
debug接口
//建议用户标注APP-进程名称—模块名称样式
void wow_debug(const char *mod,DebugLevel_E lev,const char *format, ...);
#if (DEBUG_DEFAULT_LEVEL DEBUG_LEVEL_DEBUG)#define ModDebug_D(mod,...) wow_debug(mod,DEBUG_LEVEL_DEBUG,__VA_ARGS__);
#else#define ModDebug_D(mod,...)
#endif#if (DEBUG_DEFAULT_LEVEL DEBUG_LEVEL_INFO)#define ModDebug_I(mod,...) wow_debug(mod,DEBUG_LEVEL_INFO,__VA_ARGS__);
#else#define ModDebug_I(mod,...)
#endif#if (DEBUG_DEFAULT_LEVEL DEBUG_LEVEL_WARN)#define ModDebug_W(mod,...) wow_debug(mod,DEBUG_LEVEL_WARN,__VA_ARGS__);
#else#define ModDebug_W(mod,...)
#endif#if (DEBUG_DEFAULT_LEVEL DEBUG_LEVEL_ERROR)#define ModDebug_E(mod,...) wow_debug(mod,DEBUG_LEVEL_ERROR,__VA_ARGS__);
#else#define ModDebug_E(mod,...)
#endifdebug接口实现
void wow_debug(const char *mod,DebugLevel_E lev,const char *format, ...)
{CHECK_RET_VOID(wow_debug_getStatus((const void*)mod));va_list ap;char *str NULL;;char buf[DEBUG_BUF_SIZE] {0};va_start(ap, format);vasprintf(str, format, ap);va_end(ap); int size snprintf(buf,DEBUG_BUF_SIZE-1,[%s][%s]:%s,mod,debug_level_str[lev],str);#if WOW_SHELL_TTY_SUPPORT_wow_shell_tty_write(buf,size);
#endif#if WOW_SHELL_ETH_SUPPORT_wow_shell_eth_write(buf,size);
#endif free(str);
}shell接口实现 int shell_debug(int argc, char *argv[])
{char modbuf[MAX_NAME_SIZE] {0};char cmdbuf[8] {0};CHECK_RET_VAL(argc 3, -1);memset(modbuf,0,sizeof(modbuf));strncpy(modbuf,argv[1],MIN2(strlen(argv[1]),MAX_NAME_SIZE-1));memset(cmdbuf,0,sizeof(cmdbuf));strncpy(cmdbuf,argv[2],7);if(!strncmp(cmdbuf,on,2)){wow_debug_setStatus(modbuf,1);}else if(!strncmp(cmdbuf,off,3)){ wow_debug_setStatus(modbuf,0);}else{return -1;}return 0;
}#define DEBUG_INFO debug XXX on/off (XXX is the module name)
WOW_DECLARE_SHELL_IN(debug ,shell_debug,DEBUG_INFO);