NSLog替换

NSLog有两种方式处理

1.如下,pch文件里,把NSLog改成FLLog, 以后所有的log你写成FLLog就可以了,

#ifdef DEBUG
#define FLLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define FLLog(...)
#endif

2.如果项目写了三年了,总不能全部去替换吧,那就这样处理吧用个宏定义的NSLog替换掉 NSLog

// 保证 #ifdef __OBJC__ 中的宏定义只会在 OC 的代码中被引用,否则,一旦引入 C/C++ 的代码或者框架,就会出错!
#ifdef __OBJC__

#ifdef DEBUG
#define NSLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define NSLog(...)
#endif

#endif

3.输出的控制器与代码行号

//1.会有控制器和行号输出
#define FLLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
//2.只有log输出
#define NSLog(...) NSLog(__VA_ARGS__)
代码
log内容

第一个log的内容是: [控制器名称 调用方法名称] [行号] log内容
第二个log的内容是: log内容

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • http://www.open-open.com/lib/view/open1390651437117.html ...
    Xtuphe阅读 5,051评论 0 10
  • 宏定义在C系开发中可以说占有举足轻重的作用。底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可...
    你好自己阅读 4,676评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,985评论 19 139
  • 关于宏 宏定义在C系开发中可以说占有举足轻重的作用。底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量...
    Cheriez阅读 4,229评论 0 4
  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 8,958评论 2 4

友情链接更多精彩内容