是不是看厌了Xcode单调的Log,在此,我教大家实现带颜色的Log


一 首先你需要安装一个Xcode插件---XCode Colors
  1. 插件Github地址 https://github.com/robbiehanson/XcodeColors
  2. 插件安装好后,退出Xcode,重新打开,会弹出两个选项,选择Load Bundle...
  3. 现在在你的代码加上以下代码,运行,你会发现你的Log已经有颜色了...

#define XCODE_COLORS_ESCAPE @"\033["
#define XCODE_COLORS_RESET_FG  XCODE_COLORS_ESCAPE @"fg;"
#define XCODE_COLORS_RESET_BG  XCODE_COLORS_ESCAPE @"bg;"
#define XCODE_COLORS_RESET     XCODE_COLORS_ESCAPE @";"
NSLog(XCODE_COLORS_ESCAPE @"fg0,0,255;" @"Blue text" XCODE_COLORS_RESET); NSLog(XCODE_COLORS_ESCAPE @"bg220,0,0;" @"Red background" XCODE_COLORS_RESET);
NSLog(XCODE_COLORS_ESCAPE @"fg0,0,255;"
          XCODE_COLORS_ESCAPE @"bg220,0,0;"
          @"Blue text on red background"
          XCODE_COLORS_RESET);
NSLog(XCODE_COLORS_ESCAPE @"fg209,57,168;" @"You can supply your own RGB values!" XCODE_COLORS_RESET);

如图所示


13.png
二 现在我们需要定做我们自己的Log 添加以下代码

#define XCODE_COLORS_ESCAPE @"\033["
#define XCODE_COLORS_RESET_FG  XCODE_COLORS_ESCAPE @"fg;"
#define XCODE_COLORS_RESET_BG  XCODE_COLORS_ESCAPE @"bg;"
#define XCODE_COLORS_RESET     XCODE_COLORS_ESCAPE @";"

/**  不同等级的Log,也可开关,当前已开  */
#define LOG_LEVEL_Warn
#define LOG_LEVEL_INFO
#define LOG_LEVEL_ERROR
//如需关闭,就将你需要关闭的宏定义注销那么该种形式的Log将不显示或者以默认颜色显示
#ifdef LOG_LEVEL_ERROR
#define KKLogError(frmt, ...) NSLog((XCODE_COLORS_ESCAPE @"fg255,0,0;" frmt XCODE_COLORS_RESET), ##__VA_ARGS__)
#else
#define KKLogError(...) //NSLog(__VA_ARGS__)
#endif

#ifdef LOG_LEVEL_INFO
#define KKLogInfo(frmt, ...) NSLog((XCODE_COLORS_ESCAPE @"fg65,105,225;" frmt  XCODE_COLORS_RESET), ##__VA_ARGS__)
 #else
#define KKLogInfo(...) //NSLog(__VA_ARGS__)
#endif

#ifdef LOG_LEVEL_Warn
#define KKLogWarn(frmt, ...) NSLog((XCODE_COLORS_ESCAPE @"fg255,128,0;" frmt XCODE_COLORS_RESET), ##__VA_ARGS__)
#else
#define KKLogWarn(...) //NSLog(__VA_ARGS__)
#endif

至此,我们已经定制了三种颜色的Log,如下图


123.png
我帮大家查询了一些颜色的RGB值,以帮助大家更方便的实现自己喜爱的颜色...

颜色RGB.png
附注:还有一个CocoaLumberjack开源框架和插件一起使用效果很好,感兴趣的可以研究一下!附上地址-https://github.com/CocoaLumberjack/CocoaLumberjack

至此,本文到此结束,谢谢大家浏览!

本文转载, 原文地址http://www.jianshu.com/p/a9644584c483

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐