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(@"错误信息");