自定义NSLog

通过自定义NSLog可以控制打印的格式,以及可以实现 Debug 模式下打印输出,Release 模式不打印输出。

以下方式可加入打印的文件名函数名打印位置的行数

#if DEBUG
#define NSLog(FORMAT, ...) NSLog(@"File:%s Function:%s Line:%d ###  %@\n", __FILE__,__FUNCTION__, __LINE__, [NSString stringWithFormat:FORMAT, ##__VA_ARGS__])
#else
#define NSLog(FORMAT, ...)
#endif

接下来我们把他应用到全局。首先项目中创建NSLog-Prefix.pch文件。将上面的代码复制到文件中。

#ifndef NSLog_Prefix_pch
#define NSLog_Prefix_pch

#if DEBUG
#define NSLog(FORMAT, ...) NSLog(@"File:%s Function:%s Line:%d ###  %@\n", __FILE__,__FUNCTION__, __LINE__, [NSString stringWithFormat:FORMAT, ##__VA_ARGS__])
#else
#define NSLog(FORMAT, ...)
#endif

#endif /* NSLog_Prefix_pch */

Build Setting中设置
Precompile Prefix Header为Yes,预编译后的 PCH 文件会被缓存起来,可以提高编译速度。
Prefix Header填入项目名称/PCH 文件名,然后运行即可。

image.png

Release模式不打印,Debug模式打印的效果如下。


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容