Xcode最好用的日志打印方法

通常打印日志都是用的系统自带的NSLog来打印的,假如项目作完了,要上线了,这些打印的日志就会很浪费性能,网上有不少的解决办法,我也是感受网上的仍是有点不方便,因此就本身又修改了一下,分享给你们。html

网上的方法就是利用Debug状态和Release状态来控日志的输出,若是是Debug状态的话就输出日志(就是NSLog的东西会打印),若是是Release状态的话就不用输出日志(就是NSLog的东西不会打印。)因此上架的时候就须要调成Release就好了,就能够避免浪费打印日志,节省性能,提升效率。ide

其实精髓只是在pch(若是不知道什么是pch的话请看这个连接:http://www.cnblogs.com/BK-12345/p/6074087.html)里面写了一段代码就能够实现这个功能了,而我只是将这段代码优化了一下,感受不错。性能

代码以下:测试

 

//打印的日志
#ifdef DEBUG
#define YZLog(...) \
NSLog(@"%@第%d行:%@\n---------------------------",[[NSString stringWithFormat:@"%s",__FILE__] componentsSeparatedByString:@"/"][[[NSString stringWithFormat:@"%s",__FILE__] componentsSeparatedByString:@"/"].count-1], __LINE__, [NSString stringWithFormat:__VA_ARGS__]);
#else
#define YZLog(...)
#endif

 以前用NSLog的均可以改为YZLog就能够了,好比NSLog(@"测试");之后就能够写成YZLog(@"测试");,打印日志的时候,你就会发现多了两个东西,第一个就是这个日志在哪一个类文件中,会把这个类的名字打印出来,还有一个就是在这个类文件的第几行,也会打印出来,这样的话一眼就看出来这个日志是在哪里写的,很是方便。优化

对好比图:spa

 YZLog(@"测试");日志

 

NSLog(@"测试");component

 

相关文章
相关标签/搜索