您的位置:首页 > 移动开发 > IOS开发

CocoaLumberjack使用以及日志文件获取

2016-07-22 16:17 381 查看

CocoaLumberjack使用以及日志文件获取

本文主要介绍之前项目中使用到CocoaLumberjack, 然后获取CocoaLumberjack为我们存储的日志文件, 在用户反馈的时候, 将日志文件打包上传到服务器, 以便我们查找错误信息。

CocoaLumberjack使用

关于CocoaLumberjack的使用, 网上已经有很多讲解了, 这里贴几篇文章供大家参考:

CocoaLumberjack 和 XcodeColors 的安装和使用

iOS开源项目之日志框架CocoaLumberjack

利用 CocoaLumberjack 搭建自己的 Log 系统

CocoaLumberjack日志获取

这里主要是讲解怎么获取CocoaLumberjack为我们保存的日志文件, 其实使用起来也非常方便, 主要是利用DDFileLogger来获取沙盒中保存的文件:

//获取DDLog打印的日志
DDFileLogger *fileLogger = [[DDFileLogger alloc] init];
//获取log文件夹路径
NSString *logDirectory = [fileLogger.logFileManager logsDirectory];
DDLogDebug(@"%@", logDirectory);
//获取排序后的log名称
NSArray <NSString *>*logsNameArray = [fileLogger.logFileManager sortedLogFileNames];
DDLogDebug(@"%@", logsNameArray);


通过以上的方式, 我们就可以获取日志文件的目录, 以及每个日志文件的名称, 然后接下来要做的就是讲所有日志文件打包上传到服务器, 一般而言, 我的做法就是讲日志文件打包成zip文件, 然后上传到服务器, 接下来就是怎么打包的问题?

ZipArchive的使用

关于ZipArchive的更多信息, 大家可以在github上查找, 仓库地址:https://github.com/mattconnolly/ZipArchive, 可以查看相关信息。

这里还有一篇关于 iOS中使用ZipArchive 压缩和解压缩文件的文章, 具体介绍了怎么使用ZipArchive压缩和解压文件

接下来具体介绍我是怎么使用的:

//创建zip文件
ZipArchive *logZip = [[ZipArchive alloc] init];
//zip文件路径
NSString *logZipPath = [logDirectory stringByAppendingString:@"/feadbackLog.zip"];
if ([logZip CreateZipFile2:logZipPath]) {
DDLogDebug(@"创建zip成功");
//添加log文件
[logsNameArray enumerateObjectsUsingBlock:^(NSString * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
//使用log本身的名字命名
[logZip addFileToZip:[logDirectory stringByAppendingString:[NSString stringWithFormat:@"/%@", obj]] newname:obj];
}];
}else{
DDLogDebug(@"创建zip失败");
[logZip CloseZipFile2];
//返回为空
return nil;
}
//关闭
[logZip CloseZipFile2];


我主要是结合CocoaLumberjack相关的信息, 在CocoaLumberjack存储日志的目录下, 创建zip文件, 然后将log文件加入到zip包中, 最后可以根据zip包的地址, 获取zip包文件信息, 然后上传到服务器, 这样整个获取过程和打包流程就结束了, 主要是利用CocoaLumberjack和ZipArchive两个开源框架实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS 日志 打包 zip