第四十二篇、自定义Log打印

1.在Xcode 8出来之后,需要我们去关闭多余的日志信息打印

2.在开发的过程中,打印调试日志是一项比不可少的工程,但是在iOS 10中NSLog打印日志被屏蔽了,就不得不使用自定义Log

3.去掉xcode8的日志打印:Edit->Run->ENvironment variables -->添加OS_ACTIVITY_MODE 设置值为disable

  common 加 = 让图片大小按尺寸适应 (快捷键)

  sudo /usr/libexec/xpccachectl  + 重启电脑     因为xcode8的注释不可以用了

  @objc private 修饰的方法(为了保留OC的特性,方法能正常的响应)

 

这是用系统NSLog打印的做法

#ifdef DEBUG
#define LRString [NSString stringWithFormat:@"%s",__FILE__].lastPathComponent
#define LRLog(...) NSLog(@"%@ 第%d行 \n%@\n\n",LRString,__LINE__,[NSString stringWithFormat:__VA_ARGS__])
#else
#define LRLog(...)
#endif

 

这是用Pritf() C语言的打印方式,需要UTF8String转码

// 第一种
#ifdef
DEBUG #define LRString [NSString stringWithFormat:@"%s", __FILE__].lastPathComponent #define LRLog(...) printf("%s 第%d行: %s\n\n", [LRString UTF8String] ,__LINE__, [[NSString stringWithFormat:__VA_ARGS__] UTF8String]); #else #define LRLog(...) #endif

// 第二种:还是用原来的NSLog
#ifdef DEBUG #define NSLog(format, ...) printf("\n[%s] %s [第%d行] %s\n", __TIME__, __FUNCTION__, __LINE__, [[NSString stringWithFormat:format, ## __VA_ARGS__] UTF8String]); #else #define NSLog(format, ...) #endif
 
posted on 2016-10-01 10:32  久冬不雨  阅读(533)  评论(0编辑  收藏  举报