自定义的打印语句NSLog在控制台输出不完整的完美解决

Posted #零下一度&

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义的打印语句NSLog在控制台输出不完整的完美解决相关的知识,希望对你有一定的参考价值。

之前定义日志输出时用的下面的方法

1 #ifdef DEBUG // 调试状态, 打开LOG功能
2 #define CXTLog(...) NSLog(__VA_ARGS__)
3 #else // 发布状态, 关闭LOG功能
4 #define CXTLog(...)
5 #endif

 

感觉很完美,但是最近升级xcode 9以后发现控制台总是输出不完整,打印接口数据总是打印出一部分,很是郁闷,

直到发现了下面的方法:

1 #ifdef DEBUG // 调试状态, 打开LOG功能
2 
3 #define CXTLog( s, ... ) printf("class: <%p %s:(%d) > method: %s \n%s\n", self, [[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, __PRETTY_FUNCTION__, [[NSString stringWithFormat:(s), ##__VA_ARGS__] UTF8String] )
4 
5 #else// 发布状态, 关闭LOG功能
6 #define CXTLog( s, ... )
7 #endif

 

用这个方法解决了控制台输出不完整的问题,整个人就好了!

以上是关于自定义的打印语句NSLog在控制台输出不完整的完美解决的主要内容,如果未能解决你的问题,请参考以下文章

Xcode8 NSLog打印json不完整的解决方案

NSLog设置不打印

NSLog不打印设置

不直接用NSLog

如何将参数值传递给自定义 NSLOG

NSLog() 到控制台和文件