使用人群:iOS开发人员。
本文内容:iOS开发日志的开关控制。
需求:每次打包release版本的时候,需要去掉NSLog日志,很麻烦。所以做了宏定义配置。
1.全局日志配置
系统打包的时候会有个全局宏定义,#define DEBUG。
#if DEBUG
#define FYLog(FORMAT, ...) fprintf(stderr,"\n\n打印时间: %s\n打印位置: %s 第%d行\n内容详情: %s\n\n\n",[[[NSDate date] description] UTF8String],[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__,[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define FYLog(...)
#endif
2.基于全局日志,配置局部宏定义
这里需要自己设置一个宏定义:#define FYIMDEBUG。可以看到,这里是基于全局的FYLog写的。
// 配置是否打印日志
#define FYIMDEBUG //这句话代表打开日志。若要关闭日志的话,把该句话注释掉即可。
#ifdef FYIMDEBUG
#define FYIMLog(fmt, ...) FYLog((@"" fmt), ##__VA_ARGS__);
#else
#define FYIMLog(fmt,...)
#endif
这里怎么控制打印开关呢?上面代码是打开,关闭日志的话,把#define FYIMDEBUG注释掉就可以了。
网友评论