Xcode最好用的日志打印方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xcode最好用的日志打印方法相关的知识,希望对你有一定的参考价值。

一般打印日志都是用的系统自带的NSLog来打印的,假如项目做完了,要上线了,这些打印的日志就会很浪费性能,网上有很多的解决办法,我也是感觉网上的还是有点不方便,所以就自己又修改了一下,分享给大家。

网上的方法就是利用Debug状态和Release状态来控日志的输出,如果是Debug状态的话就输出日志(就是NSLog的东西会打印),如果是Release状态的话就不用输出日志(就是NSLog的东西不会打印。)所以上架的时候就需要调成Release就行了,就可以避免浪费打印日志,节省性能,提高效率。

其实精髓只是在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 DLog(...)
#endif

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

对比如图:

 YZLog(@"测试");

技术分享

 

NSLog(@"测试");

 

技术分享

 

 

 

 

 

 

 

 

 


本文出自 “红角羚羊” 博客,请务必保留此出处http://2254359459.blog.51cto.com/10776102/1874281

以上是关于Xcode最好用的日志打印方法的主要内容,如果未能解决你的问题,请参考以下文章

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

argparse 代码片段只打印部分日志

如何清除Xcode8打印的系统日志

如何清除Xcode8打印的系统日志

iOS xcode8 运行去掉系统打印的日志

打印到 Xcode (XCTest) UITest 报告