wow-debug文件说明

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,...)
#endif

debug接口实现

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);
  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值