DEBUG日志宏定义-简单日志分级

最基本的:通常我们日志区分Debug日志和Release日志

    1. Debug日志详细打印出信息,包括开发定位的相关信息;

    2. Release日志只打印用户交互的信息,不打印和用户感受无关的信息;

一般可以基于_DEBUG变量定义宏来解决日志打印问题:

     例如可以如下定义debug时使用的日志宏

     打印debug信息时使用该LogPrintf,而在与用户交户的时候,使用printf宏.

 

通常的原则:Debug相关的信息,仅对Debug方式有效,对Release无任何影响,包括性能

#if _MSC_VER < 1400                // 版本较低时,不支持...类型的宏,屏蔽代码LogPrintf (vc60, vc70)
	#define LogPrintf //
#else                              // 1400之后的版本支持...类型的宏,此时来区分_Debug和_Release模式
	#ifdef _DEBUG
		#define LogPrintf(format, ...)\
		{\
			printf(format, __VA_ARGS__);\
		}
	#else
		#define LogPrintf(format, ...) 
	#endif
#endif


再进一步,我们希望打印 行号、文件名、函数名:

此时,借用系统中的宏可以实现

__FUNCTIONW__ 函数名(Unicode)

__FUNCTION__:   函数名(ANSI)

__FILEW__            文件名(Unicode)

__FILE__ :              文件名(ANSI)

__LINE__ :              行号

例如,在Debug日志中打印行号和文件名,方便定位,我们可以再定位一种Debug的Printf: LogPrintfWithFileLine

#define LogPrintfWithFileLine(format, ...)\
		{\
			printf(format, __VA_ARGS__);\
			printf(_T(" at %s<line:%d>\n"), __FILEW__ , __LINE__);\
		}


Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu  转载请标明来源 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春夜喜雨

稀罕你的喜欢!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值