DDLog可以让Xcode的控制台变得五彩缤纷、控制打印的开关、将异常捕获再写入文件,对于调试很方便。
配置DDLog运行环境
- 安装插件XcodeColors (或使用Alcatraz安装)
- 打开项目,编译后退出Xcode
- 重新打开,点击Load Bundle即可
- 下载第三方库CocoaLumberjack(或使用Cocoapods安装)
将DDLog添加到你的项目中(CocoaLumberjack-master/Classes)
DDLog介绍
初始化
DDLog:基础类,必须引入的
DDASLLogger: 支持发送到苹果的日志系统,在Mac控制台显示,可选
DDTTYLogger: 支持发送日志语句到Xcode控制台,可选
DDFileLogger:支持把输出信息写进文件中,可选
日志级别
LOG_LEVEL_ERROR:只显示错误日志
LOG_LEVEL_WARN: 包括:LOG_LEVEL_ERROR
LOG_LEVEL_INFO: 包括:LOG_LEVEL_WARN
LOG_LEVEL_DEBUG:包括:LOG_LEVEL_INFO
LOG_LEVEL_VERBOSE:包括:LOG_LEVEL_DEBUG
LOG_LEVEL_OFF:关闭日志
日志种类
DDLogError:定义输出错误文本,默认打印颜色为红色
DDLogWarn: 定义输出警告文本,默认打印颜色为橙色
DDLogInfo: 定义输出信息文本,默认颜色
DDLogDebug:定义输出调试文本,默认颜色
DDLogVerbose:定义输出详细文本,默认颜色
DDLog使用
松散编程 (推荐使用下面的严格编程)
1 > 修改项目scheme -> Run -> Environment Variables 添加XcodeColors:YES
2 > 在项目中新建PCH文件,并添加以下宏
#import <CocoaLumberjack/CocoaLumberjack.h>
static const int ddLogLevel = DDLogLevelVerbose;
3 > 注册DDLoger
在AppDelegate.m全局注册,你也可以在某个视图控制器注册
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//添加控制台输出Logger
[DDLog addLogger:[DDTTYLogger sharedInstance]];
//允许着色
[[DDTTYLogger sharedInstance] setColorsEnabled:YES];
DDLogError(@"错误信息"); //红色
DDLogWarn(@"警告"); //橙色
DDLogInfo(@"提示信息"); //默认颜色
DDLogDebug(@"调试信息"); //默认颜色
DDLogVerbose(@"详细信息"); //默认颜色
return YES;
}
严格编程
1 > 在项目中新建PCH文件,并添加以下宏(或者在AppDelegate等文件定义都可以)
导入CocoaLumberjack的头文件
在开发环境,定义日志级别为最高级别
在生产环境,定义日志级别为关闭状态
#import <CocoaLumberjack/CocoaLumberjack.h>
#ifdef DEBUG
static const int ddLogLevel = DDLogLevelVerbose;
#else
static const int ddLogLevel = DDLogLevelOff;
#endif
2 > 注册DDLoger
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// DDTTYLogger (若设备为模拟器,为当前项目开启XcodeColors插件的功能,发送日志语句到Xcode控制台,并设置允许着色。最后一个参数为0、1都可以)
#if TARGET_IPHONE_SIMULATOR
// Sends log statements to Xcode console - if available
setenv("XcodeColors", "YES", 0);
[DDLog addLogger:[DDTTYLogger sharedInstance]];
[[DDTTYLogger sharedInstance] setColorsEnabled:YES];
// DDTTYLogger支持自定义日志的颜色(自定义DDLogInfo日志的颜色为蓝色,DDLogFlagInfo即 LOG_FLAG_INFO)
[[DDTTYLogger sharedInstance] setForegroundColor:[UIColor blueColor] backgroundColor:nil forFlag:DDLogFlagInfo];
DDLogError(@"错误信息"); //红色
DDLogWarn(@"警告"); //橙色
DDLogInfo(@"提示信息"); //自定义为蓝色
DDLogDebug(@"调试信息"); //默认颜色
DDLogVerbose(@"详细信息"); //默认颜色
#endif
return YES;
}
3 > 运行
所谓松散编程、严格编程只是一种简单区分,以便大家有多种方式使用DDLog,各位看官请根据实际情况选择。
上面我们做了这几件事:
一是为Xcode添加XcodeColors插件,
二是添加DDLog所依赖的第三方库,
三是定义了日志级别,
四是开启了XcodeColors插件的功能
五是设置发送日志语句到Xcode控制台,并设置允许着色