刚学iOS时候,调试找问题的时候一般就两种方式.
1.输出NSLog日志。
2.打断点,一步一步查看问题,查找崩溃点所在的方法,再进一步查看崩溃具体原因,稍微高级一点的就在控制台用命令打印各种参数。
现在看看实在是没什么技术含量,知道我遇到了她-[CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack)
先来看看她有什么高级的?
1.简单
CocoaLumberjack集成简单,可以方便的添加进工程,并且DDLog宏与系统的NSLog用法,格式相同,使用简单,不会有难度。
2.快速
在大多数用例中,CocoaLumberjack比NSLog执行快了一个数量级。
3.CocoaLumberjack与Xcode插件XcodeColors 配合,可实现控制台日志的彩色输出。
4.一个日志可以发送到多个logger,可以显示在控制台,可以存储在数据库,本地文件中,还可以上传服务器,满足我们的多样需求。
5.自定义日志。
我们可以根据系统的运行环境,定义不同级别的日志,自定义日志的格式,颜色,存储的日志文件的周期,文件最大个数,文件大小等等。
如何使用 ?
- 添加CocoaLumberjack到工程。
- 配置你的专属log系统
- 替换NSLog,玩转DDLog。
把Lumberjack框架添加到你的项目
CocoaLumberjack包含几个对象分别可以把Log输出到不同的地方:
1.DDASLLogger -发送日志语句到苹果的日志系统,它们显示在Console.app上
2.DDTTYLoyger -发送日志到控制台
3.DDFIleLoger -发送日志到文件。
4.DDAbstractDatabaseLogger -发送到DB
通过ddLogLevel定义日志等级:
typedef NS_ENUM(NSUInteger, DDLogLevel) {
DDLogLevelOff = 0,
DDLogLevelError = (DDLogFlagError), // 0...00001
DDLogLevelWarning = (DDLogLevelError | DDLogFlagWarning), // 0...00011
DDLogLevelInfo = (DDLogLevelWarning | DDLogFlagInfo), // 0...00111
DDLogLevelDebug = (DDLogLevelInfo | DDLogFlagDebug), // 0...01111
DDLogLevelVerbose = (DDLogLevelDebug | DDLogFlagVerbose), // 0...11111
DDLogLevelAll = NSUIntegerMax // 1111....11111 (DDLogLevelVerbose plus any other flags)
};
相信大家差不多都能看懂,它们是一种包含的枚举。
- DDLogLevelOff ,关闭所有日志
- DDLogLevelError,只打印error 级别的日志
- DDLogLevelWarning ,打印error,warning级别的日志
- DDLogFlagInfo,打印error,warning,Info级别的日志
- DDLogLevelDebug,打印error,warning,Info,debug级别的日志
- DDLogFlagVerbose,打印error,warning,Info,debug,verbose级别的日志
- DDLogLevelAll,打印所有日志,不知包含上述几种,还有其他级别的日志。