用过Xcode的人都知道,Log是有多难堪多难堪,控制台各种蛋疼各种无语,看到APPCode的控制台后我时对xcode彻底无爱了。经过各种折腾,决定在当前的项目试验下增强log的功能,使用CocoaLumberjack和XcodeColors来使我们的控制台达到能看的效果。
首先 打开CocoaLumberjack的github地址
https://github.com/CocoaLumberjack/CocoaLumberjack
使用cocospod 安装
1 | platform :ios, '8.0' |
在自己工程文件下.pch下加入
1 | #define LOG_LEVEL_DEF ddLogLevel |
在APPDelegate里面初始化log
1 | - (void)initLogger |
到这里就完成了ddlog的初始化,但是到这里还没结束,因为这样仅仅是让框架运行起来,还没有到我们要的效果。
我们想要的,应该是达到以下的目的
- 能够打印Log的发生位置,方法,时间
- 能够根据不同Log级别有不同的颜色对应
完成第一点很简单,我们只需要实现自己的formatter就可以了
实现DDLogFormatter
的协议
1 | #import <Foundation/Foundation.h> |
1 | @implementation DFCustomFormatter |
这样我们就打印了需要的信息,更多的方法可以到DDLogMessage里面看提供了什么属性。
完成第二点,就要借助XcodeColors
地址:https://github.com/robbiehanson/XcodeColors
安装后,在APPDelegate中初始化
1 | // 打开颜色支持 |
然后我们可以根据自己的喜好设置不同级别的Log的颜色
1 | - (void)setConsoleColor |
到这里,还不能让控制台显示出颜色,要设置对应schema
添加后,就可以让xcode的控制显示我们要的效果了。
如果自己的项目本身有对应的log方法,可以用宏直接替换