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两个开源框架实现。
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- Python中zip()函数用法举例
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- Awstats处理多apache日志
- zip 的压缩原理与实现
- 典型入侵日志分析
- MS SQL Server数据库清理错误日志的方法
- 对MySQL日志操作的一些基本命令总结
- 简介操作MySQL日志的一些方法
- MySQL的日志基础知识及基本操作学习教程
- MSSQL 2005/2008 日志压缩清理方法小结
- SQL Server误区30日谈 第19天 Truncate表的操作不会被记录到日志
- C#3.0使用EventLog类写Windows事件日志的方法
- 用vbs实现zip功能的脚本
- Sqlserver2005日志文件太大如何减小