天天看點

iOS開發--使用CocoaLumberjack-DDLog

    DDlog庫可以讓Xcode的輸出台變得五彩缤紛,同時可以控制列印的開關.對于調試很是友善.

  下面介紹一下安裝方法.

    一、安裝xCode擴充插件XcodeColors

    1.下載下傳位址:https://github.com/robbiehanson/XcodeColors

    2.下載下傳完成後,打開XcodeColors項目,編譯即可。

    3.完全退出xCode,重新打開。

    4.運作TestXcodeColors項目,嘗試,是否安裝成功。

    二、引入第三方庫CocoaLumberjack。

    1.下載下傳DDLog。下載下傳位址:https://github.com/CocoaLumberjack/CocoaLumberjack

    2.将DDLog添加到你的項目中。 或者使用cocoapod: pod 'CocoaLumberjack', '~> 2.0.0-beta4'

    三、DDLog常用API介紹

    1.初始化DDLog。

    DDLog:基礎類,必須引入的。

    DDASLLogger:支援将調試語句寫入到蘋果的日志中。一般正對Mac開發。可選。

    DDTTYLogger:支援将調試語句寫入xCode控制台。我們即使要用它。可選。

    DDFileLogger:支援将調試語句寫入到檔案系統。可選。

    2.DDLog日志種類。

    DDLog的輸出級别預設提供以下若幹種:

    DDLogError:定義輸出錯誤文本

    DDLogWarn:定義輸出警告文本

    DDLogInfo:定義輸出資訊文本

    DDLogDebug:定義輸出調試文本

    DDLogVerbose:定義輸出詳細文本

    提供的日志級别為:

    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:關閉日志

    3.使用DDLog.

<span style="font-size:14px;">static const int ddLogLevel = LOG_LEVEL_VERBOSE;// 定義日志級别
    [DDLog addLogger:[DDTTYLogger sharedInstance]];// 初始化DDLog日志輸出,在這裡,我們僅僅希望在xCode控制台輸出
    [[DDTTYLogger sharedInstance] setColorsEnabled:YES];// 啟用顔色區分
    DDLogError(@"錯誤資訊"); // 紅色
    DDLogWarn(@"警告"); // 橙色
    DDLogInfo(@"提示資訊"); // 預設是黑色
    DDLogVerbose(@"詳細資訊"); // 預設是黑色
    
    DDLog同時支援自定義日志的顔色.
    [DDLog addLogger:[DDASLLogger sharedInstance]];// 如果需要,可以添加其他的日志輸出支援
    [[DDTTYLogger sharedInstance] setForegroundColor:[UIColor blueColor]backgroundColor:nil forFlag:LOG_FLAG_INFO];// 修改指定列印類型的顔色</span>
           

    當你在一個頁面中使用DDLog時,需要在這個頁面中申明: staticconst int ddLogLevel =LOG_LEVEL_VERBOSE; 注意ddLogLevel名字不可自定義.

    提示:

    如果按上面的步驟執行後發現在Xcode輸出台中任然沒有顔色.則需要按以下步驟調節:

    Select the "Run" -> "Arguments"

    Under "Environment Variables"

    Click the "+" button.

    In the "Name" column enter: "XcodeColors"

    In the "Value" column enter: "YES"

    OR:在APPDelegate方法中:

#if TARGET_IPHONE_SIMULATOR
    // Sends log statements to Xcode console - if available
    setenv("XcodeColors", "YES", 1);
    [DDLog addLogger:[DDTTYLogger sharedInstance]];
    [[DDTTYLogger sharedInstance] setColorsEnabled:YES];
#endif