printf打印模块

printf打印模块

用#define将printf做成属于自己的便于log信息 的开启和关闭。避免开发中的打印信息一个一个去屏蔽然后再出最终的正式软件

#include <stdio.h>


#define COLOR_NONE                  "\033[0;m"  
#define RED                         "\033[0;31m"
#define LIGHT_RED                   "\033[1;31m"  
#define LIGHT_RED_INV               "\033[5;7;31m"  
#define GREEN                       "\033[0;32m"
#define LIGHT_GREEN                 "\033[1;32m"
#define BLUE                        "\033[0;34m"
#define LIGHT_BLUE                  "\033[1;34m"  
#define DARY_GRAY                   "\033[1;30m"
#define CYAN                        "\033[0;36m"
#define LIGHT_CYAN                  "\033[1;36m"
#define PURPLE                      "\033[0;35m"
#define LIGHT_PURPLE                "\033[1;35m"
#define YELLOW                      "\033[0;33m"
#define LIGHT_YELLOW                "\033[1;33m"  
#define WHITE                       "\033[0;37m"
#define LIGHT_WHITE                 "\033[1;37m"
enum _LOG_LEVEL {
    LOGMES_FATAL_LEVEL = 1,    //致命错误
    LOGMES_ERROR_LEVEL,        //普通错误
    LOGMES_WARN_LEVEL,         //警告
    LOGMES_INFO_LEVEL,         //显示信息
    LOGMES_DEBUG_LEVEL,        //调试信息
};


#define LOGMES_CFG_LEVEL    LOGMES_DEBUG_LEVEL


#define logmes_level_printf(level,fmt,arg...) \
        do {\
            if (level <= LOGMES_CFG_LEVEL){\
                printf("[%s,%d] "fmt, __FILE__, __LINE__, ##arg);\
            }\
        } while(0)
//致命错误 fatal级别的日志使用 “高亮红色输出,并且反色输出,同时字体间隙闪烁”
#define logmes_fatal(fmt, arg...)   logmes_level_printf(LOGMES_FATAL_LEVEL, LIGHT_RED_INV fmt COLOR_NONE, ##arg)        
//普通错误 error级别的日志使用 “高亮红色输出”;
#define logmes_error(fmt, arg...)   logmes_level_printf(LOGMES_ERROR_LEVEL, LIGHT_RED fmt COLOR_NONE, ##arg)
//警告 warn级别的日志使用 “高亮黄色输出”;
#define logmes_warn(fmt, arg...)    logmes_level_printf(LOGMES_WARN_LEVEL, LIGHT_YELLOW fmt COLOR_NONE, ##arg)
//信息 info级别的日志使用 “高亮蓝色输出”;
#define logmes_info(fmt, arg...)    logmes_level_printf(LOGMES_INFO_LEVEL, LIGHT_BLUE fmt COLOR_NONE, ##arg)
//调试 debug级别的日志使用 “高亮白色输出”;
#define logmes_debug(fmt, arg...)   logmes_level_printf(LOGMES_DEBUG_LEVEL, LIGHT_WHITE fmt COLOR_NONE, ##arg)


int main()
{
    logmes_fatal("this is test fatal\r\n");
    logmes_error("this is test error\r\n");
    logmes_warn("this is test warn\r\n");
    logmes_info("this is test info\r\n");
    logmes_debug("this is test debug\r\n");
    return 0;
}

写完可以用Ubuntu验证一下

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值