如果做過android的同學(xué)可以知道捡需,android studio的console輸出的log可以擁有不同的顏色樣式筹淫,這樣可以方便程序員進(jìn)行選擇性的觀看站辉、調(diào)試。但是這么炫的功能Xcode可以做到嗎饰剥?答案是YES殊霞。
好,廢話不多說绷蹲,下面就開始介紹怎么操作
1.使用CocoaPods導(dǎo)入CocoaLumberjack
1.創(chuàng)建一個(gè)新的工程
2.這里可以通過命令行
創(chuàng)建文件的方式或者通過Xcode插件CocoaPods創(chuàng)建Podfile
3.打開Podfile
文件,并添加pod 'CocoaLumberjack'
4.執(zhí)行install
命令安裝CocoaLumberjack
庫
5.安裝完后顾孽,重啟Xcode
成功安裝CocoaLumberjack.png
2.為Xcode添加顏色插件
1.這里可以通過github
搜索XcodeColors
下載安裝或者其他方式安裝后,重啟Xcode
2.在AppDelegate.m
文件中添加
[DDLog addLogger:[DDTTYLogger sharedInstance]]; // 標(biāo)準(zhǔn)lumberjack初始化
[[DDTTYLogger sharedInstance] setColorsEnabled:YES];// 啟用顏色區(qū)分
3.依次執(zhí)行Xcode->Product->Scheme->Edit Scheme
打開配置文件若厚。在如下圖片添加參數(shù)
Xcode配置.png
3.創(chuàng)建一個(gè)pch全局配置文件
1.在Xcode->Build Setting ->prefix Header
配置添加pch文件
添加pch文件.png
2.在pch文件中添加需要導(dǎo)入用的頭文件
#import <DDLog.h>
#import <CocoaLumberjack.h>
#import "HJConstants.h" // 常量文件
#ifdef DEBUG
#define HJLogError(...) DDLogError(__VA_ARGS__); // 紅色
#define HJLogWarn(...) DDLogWarn(__VA_ARGS__); // 橙色
#define HJLogInfo(...) DDLogInfo(__VA_ARGS__); // 默認(rèn)是黑色
#define HJLogVerbose(...) DDLogVerbose(__VA_ARGS__); // 默認(rèn)是黑色
#else
#define HJLogError(...)
#define HJLogWarn(...)
#define HJLogInfo(...)
#define HJLogVerbose(...)
#endif
4.創(chuàng)建一個(gè)常量文件用來保持常量
1.在.h
文件中添加
extern int ddLogLevel;
2.在.m
文件中添加
int ddLogLevel =
#ifdef DEBUG
LOG_LEVEL_VERBOSE;
#else
LOG_LEVEL_OFF;
#endif
3.描述一下LOG_LEVEL的不同等級(jí)所代表的做用
1.如果你將日志級(jí)別設(shè)置為 LOG_LEVEL_ERROR,那么你只會(huì)看到DDlogError語句疤估。
2.如果你將日志級(jí)別設(shè)置為LOG_LEVEL_WARN,那么你只會(huì)看到DDLogError和DDLogWarn語句霎冯。
3.如果您將日志級(jí)別設(shè)置為 LOG_LEVEL_INFO,那么你會(huì)看到error、Warn和Info語句沈撞。
4.如果您將日志級(jí)別設(shè)置為LOG_LEVEL_VERBOSE,那么你會(huì)看到所有DDLog語句慷荔。
5.如果您將日志級(jí)別設(shè)置為 LOG_LEVEL_OFF,你將不會(huì)看到任何DDLog語句关串。
4.輸出想要的結(jié)果
輸出結(jié)果.png
5.當(dāng)然我們也可以自定義輸出的顏色拧廊,只需要執(zhí)行類似如下方法就可以實(shí)現(xiàn)
// Let's customize our colors.
// DDLogInfo : Pink
#if TARGET_OS_IPHONE
UIColor *pink = [UIColor colorWithRed:(255/255.0) green:(58/255.0) blue:(159/255.0) alpha:1.0];
#elseNSColor *pink = [NSColor colorWithCalibratedRed:(255/255.0) green:(58/255.0) blue:(159/255.0) alpha:1.0];
#endif
[[DDTTYLogger sharedInstance] setForegroundColor:pink backgroundColor:nil forFlag:DDLogFlagInfo];
DDLogInfo(@"Warming up printer"); // Prints in Pink !
最后添加github例子地址github