一、CocoaLumberjack是什么?
CocoaLumberjack是一个可以在iOS和Mac开发中使用的日志库,强大又不失灵活。集成进项目后,可以灵活控制日志level输出,并保存在日志文件中,还能压缩上传到服务器。
** 废话不多说直接来集成、看效果 **
二、集成
-
集成方式有三种方式
1、cocoapods集成( vim Podfile)platform :ios, ‘8.0’
pod ‘CocoaLumberjack’2、Cartfile
github “CocoaLumberjack/CocoaLumberjack”
3、手动集成
- 网上很多人用以上两种方式集成,可能遇到不少版本更新用法不一致的情况,今天重点介绍一下我手动集成的方式。
①、手动集成区下载项目下载GitHub源码
②把Lumberjack文件夹拖拽到 你的工程项目中(注意要把 swift文件去掉,不然编译会报错)
③新建pch文件,并在pch文件中引入内容(不知道pch文件是干嘛的自己去百度)
我还是把代码粘贴出来吧! - 网上很多人用以上两种方式集成,可能遇到不少版本更新用法不一致的情况,今天重点介绍一下我手动集成的方式。
#ifndef PrefixHeader_pch
#define PrefixHeader_pch
#import "CocoaLumberjack.h"
// Include any system framework and library headers here that should be included in all compilation units.
// You will also need to set the Prefix Header build setting of one or more of your targets to reference this file.
#define LOG_LEVEL_DEF ddLogLevel
#ifdef DEBUG
static const int ddLogLevel = DDLogLevelDebug;
#else
static const int ddLogLevel = DDLogLevelInfo;
#endif
这里细心的人可能看到为什么相同的日志会打印两次呢?别着急
注释这一行就好了是不是 一般这个是用于打印到 mac一个程序‘控制台’里面的。
没什么说的不需要就注释咯。
// 2、ASL = Apple System Logs 苹果系统日志
- 代码拿去
// 1、TTY = Xcode 控制台
[DDLog addLogger:[DDTTYLogger sharedInstance]];
// 2、ASL = Apple System Logs 苹果系统日志
[DDLog addLogger:[DDASLLogger sharedInstance]];
// 3、本地文件日志
DDFileLogger *fileLogger = [[DDFileLogger alloc] init];
fileLogger.rollingFrequency = 60 * 60 * 24; // 每24小时创建一个新文件
fileLogger.logFileManager.maximumNumberOfLogFiles = 7; // 最多允许创建7个文件
[DDLog addLogger:fileLogger];
DDLogInfo(@"DDLogInfo didFinishLaunchingWithOptions");
DDLogDebug(@"DDLogDebug didFinishLaunchingWithOptions");
DDLogVerbose(@"DDLogVerbose didFinishLaunchingWithOptions");
DDLogWarn(@"DDLogWarn didFinishLaunchingWithOptions");
-
到了这里很多人会问你的怎么能成功我的不行呀,是不是报错了,是不是下图这样的。。别着急。
看下图
你再编译一下是不是成功了。
还没完呢!你是不是还想说还有啥!
是不是你尝试了有发现你的怎么没有这个文件 ,有两个步骤你没做,
1、设置共享目录
在Info.plist文件中添加UIFileSharingEnabled键,并将键值设置为YES。将您希望共享的文件放在应用程序的Documents目录。
2、修改默认日志路径
这个代码就不用我粘贴了吧!xcode有自动补全!