美文网首页YLiOSiOS调试iOS学习
CocoaLumberjack 和 XcodeColors 的安

CocoaLumberjack 和 XcodeColors 的安

作者: tonyqt | 来源:发表于2015-04-10 21:29 被阅读5238次

    前情提要

    什么是CocoaLumberjack?

    CocoaLumberjack是一个很好用的日志打印工具,它可以帮助我们把工程中的日志信息打印到终端或者输出到文件中。

    什么是XcodeColors?

    XcodeColors是一个XCode插件,它配合CocoaLumberjack使用可以让将终端各种提示信息(error,warn……)按不同的颜色进行显示,一目了然。

    为什么会有这篇文章?

    • 日志是程序猿最好的伙伴,利器在手,天下我有。
    • 目前关于XcodeColors和CocoaLumberjack的文章,过时的很多,照着做,很容易就掉到坑里了,所以决定自己写一篇。

    安装CocoaLumberjack

    推荐 :使用 CocoaPods安装

    1. 新建XCode工程
    屏幕快照 2015-04-10 下午7.30.57.png
    1. 在工程目录下新建pod文件,加入
    platform :ios, "8.2"
    target "yourProjectName(新建的工程名称)" do
    pod 'CocoaLumberjack'
    inhibit_all_warnings!
    end
    
    1. 终端进入工程所在的目录,在终端输入
    pod install --no-repo-update
    

    安装CocoaLumberjack,注意最好带上--no-repo-update,否则更新的速度会让人绝望。

    配置CocoaLumberjack

    1. 在需要打印日志的地方加入头文件
    #import <CocoaLumberjack/CocoaLumberjack.h>
    
    1. 设置日志的显示类型
    static const int ddLogLevel = LOG_LEVEL_VERBOSE;//多个宏可供选择
    
    1. 配置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的看这里

    相关文章

      网友评论

      • Jiar_:建议你把顺序改下。配置XcodeColors 这一步不放在前面,无法达到效果。
      • 春田花花幼儿园:XcodeColors 必须要和 CocoaLumberjack一起才可以使用吗?我只安装了XcodeColors按照你说的步骤但是没有效果...
        Jiar_:@春田花花幼儿园 都写在写在Appdelage里面,你的日志输出代码必须在 陪置xcodecolor这一步 后面,控制台中的日志颜色才会改变。
        春田花花幼儿园:@Jiar_ 意思还是必须配合使用啊。嗯,我再试试
        Jiar_:@春田花花幼儿园 文/tonyqt(简书作者)
        配置XcodeColors 这一步必须放在最前面。

      本文标题:CocoaLumberjack 和 XcodeColors 的安

      本文链接:https://www.haomeiwen.com/subject/lqetfttx.html