debug 输出log控制

来源:互联网 发布:淘宝定制商品能退货吗 编辑:程序博客网 时间:2024/04/29 10:37
/*简单打印调试信息*/#define     DEBUG_SWITCH        1#ifdef      DEBUG_SWITCH#define my_debug(fmt,args...) printf(fmt, ##args)#else#define my_debug(fmt,args...) /*do nothing */#endif/*错误信息打印:自动打印发生错误时代码所在的位置*/#define   ERR_DEBUG_SWITCH        1#ifdef    ERR_DEBUG_SWITCH#define pr_err(fmt,args...) printf("\nFile:<%s> Fun:[%s] Line:%d\n "fmt, __FILE__, __FUNCTION__, __LINE__, ##args)#else#define pr_err(fmt,args...) /*do nothing */#endif/*断言: 对某种假设条件进行检查0/1(若条件成立则无动作,否则报告错误信息)*/#define _EXAM_ASSERT_TEST_        1#define _EXAM_ASSERT_EXIT_        1#ifdef  _EXAM_ASSERT_TEST_     void exam_assert(int condition, const char * file_name, const char *fun, unsigned int line_no, const char *fmt, ...){    char sBuf[1024];    va_list va;    if (!condition)    {        bzero(sBuf, sizeof(sBuf));        va_start(va, fmt);        vsprintf(sBuf, fmt, va);        printf("\n[EXAM]Assert failed: File:<%s> Fun:[%s] Line:%d\n %s", file_name, fun, line_no, sBuf);#ifdef _EXAM_ASSERT_EXIT_        abort();#endif    }}#define EXAM_ASSERT(condition, fmt, args...)    exam_assert(condition, __FILE__, __FUNCTION__, __LINE__,fmt, ##args)#else // 若不使用断言测试#define EXAM_ASSERT(condition, fmt, args...) NULL#endif /* end of ASSERT */
0 0
原创粉丝点击