1.今天領導說,給APP加個日誌管理的功能。隨網上爬資料,找到了CocoaLumberjack這個框架git
CocoaLumberjack是Mac和iOS上一個集快捷、簡單、強大和靈活於一身的日誌框架。CocoaLumberjack相似於流行的日誌框架(如log4j),但它是專爲Objective-C設計的,利用了多線程、GCD(若是可用)、無鎖原子操做Objective-C運行時的動態特性。github
具備快速、簡單、靈活性等特色xcode
1.安裝,有兩種選擇,①、利用cocoapods安裝。②、下載github的文件
多線程
github地址:https://github.com/CocoaLumberjack/CocoaLumberjackapp
我選擇了第二種
框架
解壓以後的文件目錄
ui
2.添加工程到現有功能,拖拽/Framework/Mobile/Lumberjack.xcodeproj文件到現有工程spa
3.選中CocoaLumberjack工程,command+B進行編譯,產生libCocoaLumberjack.a文件
線程
4.CocoaLumberjack工程到此爲止,而後進行當前工程的設置
設計
①、Build Setting下的User Header Search Paths添加$(BUILD_ROOT)/../IntermediateBuildFilesPath/UninstalledProducts/include
②、Always Search User Paths選項爲YES
③、Build Phases下Link Bianary With Libraries下添加.a文件
5.定義日誌的輸入打印登記,添加LogLevel.h,其內容爲
#ifdef DEBUG static const int ddLogLevel = DDLogLevelVerbose; #else static const int ddLogLevel = DDLogLevelError; #endif
6.pch文件添加頭文件
#import <CocoaLumberjack/CocoaLumberjack.h> #import "LogLevel.h"
7.AppDelegate.m裏的didFinishLaunchingWithOptions方法中添加代碼
[DDLog addLogger:[DDASLLogger sharedInstance]];//(發送日誌語句到蘋果的日誌系統,以便它們顯示在Console.app上) [DDLog addLogger:[DDTTYLogger sharedInstance]];//(發送日誌語句到Xcode控制檯,若是可用) DDFileLogger *fileLogger = [[DDFileLogger alloc] init]; fileLogger.rollingFrequency = 60 * 60 * 24; // 日誌保持24小時,當超過24的日誌會被刪除掉 fileLogger.logFileManager.maximumNumberOfLogFiles = 1; //保證只有一個日誌文件 [DDLog addLogger:fileLogger]; //文件路徑 DDLogInfo(@"目錄:%@",[fileLogger currentLogFileInfo].filePath); //將目錄存入本地存儲 [[NSUserDefaults standardUserDefaults]setObject:[fileLogger currentLogFileInfo].filePath forKey:@"logPath"]; DDLogInfo(@"錯誤信息");