杨叫兽的技术博客

关注Objective-C、iOS、Mac开发与技巧,重视代码的简洁与质量

给NSLog增加输出功能

之前在网易老博客:DLog的使用里讲到编写一个DLog宏替代NSLog输出更多的打印信息。如果之前工程里NSLog很多就需要把所有的NSLog替换成DLog。这么做是不是感觉有点麻烦?其实还有更简单的办法,就是直接写一个NSLog的宏,替换掉Xcode中已存在的宏,同样可以打印需要的信息。只需将下列代码放入prefix.pch文件中:

Add additional Print Funtion For NSLog
1
2
3
4
5
6
7
#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)

如果还想深入了解宏定义的知识,请参考这里