iOS 调试Log

#ifdef DEBUG
 #define LOG(...) NSLog(__VA_ARGS__);
 #define LOG_METHOD NSLog(@"%s", __func__);
#else
 #define LOG(...);
 #define LOG_METHOD;

#endif

__VA_ARGS__ 是可变参数宏
__func__ 是编译的时候,会替换为这条语句所在的函数的函数名


哈哈,来一个高大上的宏

//A better version of NSLog

#define NSLog(format, ...) do {                                                                          \

fprintf(stderr, "<%s : %d> %s\n",                                           \

        [[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String],  \

        __LINE__, __func__);                                                        \

(NSLog)((format), ##__VA_ARGS__);                                           \

fprintf(stderr, "-------\n");                                               \

} while (0)

打印出来的:

<MailListViewController.m : 406> __43-[MailListViewController UpDataUserDynamic]_block_invoke334

2015-09-29 11:39:32.021 KeHuTong[1761:478649] dynamicData LoadData Error!

-------


你可能感兴趣的:(iOS 调试Log)