前情提要
什么是CocoaLumberjack?
CocoaLumberjack是一个很好用的日志打印工具,它可以帮助我们把工程中的日志信息打印到终端或者输出到文件中。
什么是XcodeColors?
XcodeColors是一个XCode插件,它配合CocoaLumberjack使用可以让将终端各种提示信息(error,warn……)按不同的颜色进行显示,一目了然。
为什么会有这篇文章?
- 日志是程序猿最好的伙伴,利器在手,天下我有。
- 目前关于XcodeColors和CocoaLumberjack的文章,过时的很多,照着做,很容易就掉到坑里了,所以决定自己写一篇。
安装CocoaLumberjack
推荐 :使用 CocoaPods安装
- 新建XCode工程
- 在工程目录下新建pod文件,加入
platform :ios, "8.2"
target "yourProjectName(新建的工程名称)" do
pod 'CocoaLumberjack'
inhibit_all_warnings!
end
- 终端进入工程所在的目录,在终端输入
pod install --no-repo-update
安装CocoaLumberjack,注意最好带上--no-repo-update,否则更新的速度会让人绝望。
配置CocoaLumberjack
- 在需要打印日志的地方加入头文件
#import <CocoaLumberjack/CocoaLumberjack.h>
- 设置日志的显示类型
static const int ddLogLevel = LOG_LEVEL_VERBOSE;//多个宏可供选择
- 配置DDLog对象
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Configure CocoaLumberjack
[DDLog addLogger:[DDASLLogger sharedInstance]];
[DDLog addLogger:[DDTTYLogger sharedInstance]];
// Enable Colors
setenv("XcodeColors", "YES", 0);
[[DDTTYLogger sharedInstance] setColorsEnabled:YES];
……
}
使用CocoaLumberjack中的函数在终端打印日志信息
DDLogError(@"This is an error."); //错误信息
DDLogWarn(@"This is a warning.");//警告信息
DDLogInfo(@"This is just a message.");//通知信息
DDLogVerbose(@"This is a verbose message."); //详细信息
将CocoaLumberjack中打印的日志信息输出到文件中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
……
// Initialize File Logger
DDFileLogger *fileLogger = [[DDFileLogger alloc] init];
// Configure File Logger
[fileLogger setMaximumFileSize:(1024 * 1024)];
[fileLogger setRollingFrequency:(3600.0 * 24.0)];
[[fileLogger logFileManager] setMaximumNumberOfLogFiles:7];
[DDLog addLogger:fileLogger];
//show log file location, not necessary
DDLogFileInfo *ts =[fileLogger currentLogFileInfo];
DDLogInfo(@"%@", ts);
}
安装XcodeColors
推荐使用 Xcode插件管理工具Alcatraz安装
安装Alcatraz后,直接window -> package manage 搜索 XcodeColors就可以安装了。
或者,到XcodeColors所在的gitHub页面,下载源文件,运行程序。重启Xcode,插件会自动装载到Xcode上。
配置XcodeColors
// Enable Colors
setenv("XcodeColors", "YES", 0);
[[DDTTYLogger sharedInstance] setColorsEnabled:YES];
终端中的颜色变了吗?没有的同学看这里!
- 打开Product -> Edit Scheme
- 选择Run->"Arguments" tab
- 增加一个新的Environment Variable ,命名为"XcodeColors",值赋为YES
- ok,现在是见证奇迹的时刻,在运行一次,你就能看到。
收获:
看作者帮助文档和相关demo是最快的学习方式,其他的使用文档,很可能是过期的,浪费时间。
参考文章
CocoaLumberjack github地址 : 作者在源文件里放了很多文档和demo可以作为使用参考
CocoaPods使用说明--唐巧 : 不会用CocoaPods的看这里