C 宏定义LOG日志输出案例

发布于:2024-03-20 ⋅ 阅读:(52) ⋅ 点赞:(0)
#ifdef DEBUG
	#define LOG(Severity, format, ...) printf("[%s]%s/%s/line%d %s:\t" format "\n", #Severity, __FILE__, __FUNCTION__, __LINE__, __TIME__, ##__VA_ARGS__);
	#define LOGD(...) LOG(DEBUG, __VA_ARGS__)
	#define LOGI(...) LOG(INFO, __VA_ARGS__)
	#define LOGW(...) LOG(WARRING, __VA_ARGS__)
	#define LOGE(...) LOG(ERROR, __VA_ARGS__)
	#define LOGF(...) LOG(FALT, __VA_ARGS__) abort();
#else
	#define LOG(Severity, format, ...) 
	#define LOGD(...) 
	#define LOGI(...) 
	#define LOGW(...) 
	#define LOGE(...) 
	#define LOGF(...) 
#endif

Demo如下:

#include <stdio.h>

#define DEBUG
#ifdef DEBUG
	#define LOG(Severity, format, ...) printf("[%s]%s/%s/line%d %s:\t" format "\n", #Severity, __FILE__, __FUNCTION__, __LINE__, __TIME__, ##__VA_ARGS__);
	#define LOGD(...) LOG(DEBUG, __VA_ARGS__)
	#define LOGI(...) LOG(INFO, __VA_ARGS__)
	#define LOGW(...) LOG(WARRING, __VA_ARGS__)
	#define LOGE(...) LOG(ERROR, __VA_ARGS__)
	#define LOGF(...) LOG(FALT, __VA_ARGS__) abort();
#else
	#define LOG(Severity, format, ...) 
	#define LOGD(...) 
	#define LOGI(...) 
	#define LOGW(...) 
	#define LOGE(...) 
	#define LOGF(...) 
#endif

void print()
{
	LOG(INFO,"%d, %s, %lf",1," hello ", 2.5);
}

int main()
{
	print();
	LOG(INFO,"%d, %s, %lf",1," hello ", 2.5);
	return 0;
}

参考链接:

  • https://blog.csdn.net/weixin_46556903/article/details/128626742
  • https://blog.csdn.net/m0_37932636/article/details/127686069
  • https://blog.csdn.net/qq_32435729/article/details/125808929
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到