printf打印设置颜色和等级

\033[显示方式;前景色;背景色m
显示方式:
0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
前景色:
30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)
背景色:
40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)

直接上代码:

#include<stdio.h>
#define HL_RED          "\033[1;31m"				//高亮红色
#define HL_GREEN		"\033[1;32m"				//高亮绿色
#define HL_YEL          "\033[1;33m"				//高亮黄色
#define BROWN        "\033[0;33m"					//灰色
enum LOG_LEVEL
{
    LOG_LEVEL_OFF = 0,
    LOG_LEVEL_ERR,
    LOG_LEVEL_WARN,
    LOG_LEVEL_INFO,
    LOG_LEVEL_DBG,
    LOG_LEVEL_ALL,
};
static const int log_level = LOG_LEVEL_ALL;
#define LOGE(fmt, args ...) \
do \
{ \
	if(log_level >= LOG_LEVEL_ERR) \
	printf(HL_RED "WARN  (%s|%d): " \
	                    fmt, __func__, __LINE__, ## args); \
} \
while(0)
#define LOGW(fmt, args ...) \
do \
{ \
	if(log_level >= LOG_LEVEL_WARN) \
	printf(HL_YEL "WARN  (%s|%d): " \
	                    fmt, __func__, __LINE__, ## args); \
} \
while(0)
#define LOGI(fmt, args ...) \
do \
{ \
	if(log_level >= LOG_LEVEL_INFO) \
	printf(HL_GREEN "WARN  (%s|%d): " \
	                    fmt, __func__, __LINE__, ## args); \
} \
while(0)
#define LOGD(fmt, args ...) \
do \
{ \
	if(log_level >= LOG_LEVEL_DBG) \
	printf(BROWN "WARN  (%s|%d): " \
	                    fmt, __func__, __LINE__, ## args); \
} \
while(0)
int main(){
	LOGE("hello:linux!\n");
	LOGW("hello:linux!\n");
	LOGI("hello:linux!\n");
	LOGD("hello:linux!\n");
	return 0;
}

运行结果:

WARN  (main|59): hello:linux!
WARN  (main|60): hello:linux!
WARN  (main|61): hello:linux!
WARN  (main|62): hello:linux!

注意在vs中:
#define debug_msg(fmt, …) printf("%s[%d]:"fmt,FILE,LINE,## VA_ARGS)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值