大体有两种:xcode
一、基于NSLog函数
#ifdef DEBUG # define DLog(fmt, ...) NSLog((@"[文件名:%s]\n" "[函数名:%s]\n" "[行号:%d] \n" fmt), __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__); #else # define DLog(...); #endif
二、基于printf日志
#ifdef DEBUG #define kDLOG(FORMAT, ...) fprintf(stderr,"%s: %d\t %s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]) #define NSLog(...) NSLog(__VA_ARGS__) #else #define kDLOG(...) #define NSLog(...) #endif
那么这两种的区别主要在哪呢?除了你们表面上看到的NSLog会输出时间戳等信息,printf不会外还有很重要的一点:打开xcode--window--Devices,选择设备,这个时候能够选择查看日志,这个时候咱们所能查看到的日志仅限于NSLog,而若是咱们是用printf的话在这是看不到日志信息的。code