1. 程式人生 > >iOS第三方庫-CocoaLumberjack-DDLog 使用

iOS第三方庫-CocoaLumberjack-DDLog 使用

原文地址: http://blog.sina.com.cn/s/blog_7b9d64af0101kkiy.html

大概需要三個步驟:

一、安裝xCode擴充套件外掛XcodeColors

二、引入第三方庫CocoaLumberjack

三、修改NSLogDDLog方式。

一、安裝xCode擴充套件外掛XcodeColors

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

2.下載完成後,開啟XcodeColors專案,編譯即可。它會在你的電腦中安裝插XcodeColors.xcplugin。具體路徑在:~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin(可以去瞅一眼)。

3.退出xCode,重新開啟。

4.執行TestXcodeColors專案,嘗試,是否安裝成功。

二、引入第三方庫CocoaLumberjack

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

2.DDLog新增到你的專案中。

三、修改NSLogDDLog方式。

這一步,其實很簡單,主要是弄懂DDLog是如何使用的。

下載地址裡,有詳細說明,在這裡,就簡單的說一下吧。

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.

直接貼程式碼:

static const int ddLogLevel = LOG_LEVEL_VERBOSE;// 定義日誌級別

[DDLog addLogger:[DDTTYLogger sharedInstance]];// 初始化DDLog日誌輸出,在這裡,我們僅僅希望在xCode控制檯輸出

[[DDTTYLogger sharedInstance] setColorsEnabled:YES];// 啟用顏色區分

DDLogError(@"錯誤資訊"); // 紅色

DDLogWarn(@"警告"); // 橙色

DDLogInfo(@"提示資訊"); // 預設是黑色

DDLogVerbose(@"詳細資訊"); // 預設是黑色

以上是最簡單的應用,當然,可以自定義每種日誌的顏色,看需求吧。

[DDLog addLogger:[DDASLLogger sharedInstance]];// 如果需要,可以新增其他的日誌輸出支援

    [[DDTTYLogger sharedInstance] setForegroundColor:[UIColor blueColor]backgroundColor:nil forFlag:LOG_FLAG_INFO];// 可以修改你想要的顏色

日誌顏色 如果沒有正確顯示 可參照這篇文章設定  http://www.w2bc.com/Article/74050 這個框架的好處之一就是它的靈活性,如果你還想要你的日誌語句寫入到一個檔案中,你可以新增和配置一個file logger:

_fileLogger = [[DDFileLoggerallocinit];

_fileLogger.rollingFrequency = 60 * 60 * 24// 24 hour rolling

_fileLogger.logFileManager.maximumNumberOfLogFiles = 7;

  [DDLogaddLogger:_fileLogger];

/**
 * 獲得系統日誌的路徑
 **/
-(NSArray*)getLogPath
{
    
     NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    
     NSString * logPath = [docPath stringByAppendingPathComponent:@"Caches"];
    logPath = [logPath stringByAppendingPathComponent:@"Logs"];
  
    
    NSFileManager * fileManger = [NSFileManager defaultManager];
    NSError * error = nil;
    NSArray * fileList = [[NSArray alloc]init];
    fileList = [fileManger contentsOfDirectoryAtPath:logPath error:&error];
    NSMutableArray * listArray = [[NSMutableArray alloc]init];
    for (NSString * oneLogPath in fileList)
    {
        if([oneLogPath characterAtIndex:0 ] == 'l')
        {
            NSString * truePath = [logPath stringByAppendingPathComponent:oneLogPath];
            [listArray addObject:truePath];
        }
    }
    return listArray;
    

 
}

參考 文章連結 http://blog.csdn.NET/tianyitianyi1/article/details/50135241