没有合适的资源?快使用搜索试试~ 我知道了~
我们在项目中日志记录这块也算是比较重要的,有时候用户程序出什么问题,光靠服务器的日志还不能准确的找到问题 现在一般记录日志有几种方式: 1、使用第三方工具来记录日志,如腾讯的Bugly,它是只把程序的异常日志,程序崩溃日志,以及一些自定义的操作日志上传到Bugly的后台 2、我们把日志记录到本地,在适合的时候再上传到服务器 这里我要介绍的是第二种方法,第一种和第二种可以一起用。 假如现在有下面这样的日志记录要求 1、日志记录在本地 2、日志最多记录N天,N天之前的都需要清理掉 3、日志可以上传到服务器,由服务器控制是否需要上传 4、上传的日志应该压缩后再上传 实现思路 1、日志记录在本地 也就
资源推荐
资源详情
资源评论
































IOS本地日志记录解决方案本地日志记录解决方案
我们在项目中日志记录这块也算是比较重要的,有时候用户程序出什么问题,光靠服务器的日志还不能准确的找到问题
现在一般记录日志有几种方式:现在一般记录日志有几种方式:
1、使用第三方工具来记录日志,如腾讯的Bugly,它是只把程序的异常日志,程序崩溃日志,以及一些自定义的操作日志上传到Bugly的
后台
2、我们把日志记录到本地,在适合的时候再上传到服务器
这里我要介绍的是第二种方法,第一种和第二种可以一起用。
假如现在有下面这样的日志记录要求假如现在有下面这样的日志记录要求
1、日志记录在本地
2、日志最多记录N天,N天之前的都需要清理掉
3、日志可以上传到服务器,由服务器控制是否需要上传
4、上传的日志应该压缩后再上传
实现思路实现思路
1、日志记录在本地
也就是把字符串保存到本地,我们可以用 将NSString转换成NSData然后写入本地,但是NSData写入本地会对本地的文件进入覆盖,所
以我们只有当文件不存在的时候第一次写入的时候用这种方式,如果要将日志内容追加到日志文件里面,我们可以用NSFleHandle来处理
2、日志最多记录N天,N天之前的都需要清理掉
这个就比较容易了,我们可以将本地日志文件名定成当天日期,每天一个日志文件,这样我们在程序启动后,可以去检测并清理掉过期的
日志文件
3、日志可以上传到服务器,由服务器控制是否需要上传
这个功能我们需要后台的配合,后台需要提供两个接口,一个是APP去请求时返回当前应用是否需要上传日志,根据参数来判断,第二个
接口就是上传日志的接口
4、上传的日志应该压缩后再上传
一般压缩的功能我们可以使用zip压缩,OC中有开源的插件 ZipArchive 地址:http://code.google.com/p/ziparchive/ (需要FQ)
具体实现代码具体实现代码
我们先将ZipArchive引入到项目中,注意还需要引入系统的 libz.tbd 动态库,如下:
由于ZipArchive是使用C++编写的,是不支持ARC的,所以我们需要在项目中把这个类的ARC关闭掉,不然会编译不通过,如下:

给ZipArchive.mm文件添加一个 -fno-objc-arc 标签就可以了
然后就是代码部分了,创建一个日志工具类,LogManager
//
// LogManager.h
// LogFileDemo
//
// Created by xgao on 17/3/9.
// Copyright © 2017年 xgao. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface LogManager : NSObject
/**
* 获取单例实例
*
* @return 单例实例
*/
+ (instancetype) sharedInstance;
#pragma mark - Method
/**
* 写入日志
*
* @param module 模块名称
* @param logStr 日志信息,动态参数
*/
- (void)logInfo:(NSString*)module logStr:(NSString*)logStr, ...;
/**
* 清空过期的日志
*/
- (void)clearExpiredLog;
/**
* 检测日志是否需要上传
*/
- (void)checkLogNeedUpload;
@end
//
// LogManager.m
// LogFileDemo
//
// Created by xgao on 17/3/9.
// Copyright © 2017年 xgao. All rights reserved.
//
#import "LogManager.h"
#import "ZipArchive.h"
#import "XGNetworking.h"
// 日志保留最大天数
剩余7页未读,继续阅读
资源评论


weixin_38628175
- 粉丝: 5
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 焊接工程师培训.ppt
- 自动控制原理第4章-根轨迹.ppt
- 第04章-施工总进度-正稿.doc
- 内蒙古锡林浩特某酒店营销策划方案.doc
- 多层教学楼指标10.doc
- 2009年下半年度上海市建设工程价格与指数.doc
- 机动车登记规定.doc
- python 练习题,python 对称迷宫
- python 练习题,python计算器
- python 练习题,python价值之和
- 信号完整性及高速数字设计基础+考试题及解答
- AI生产力工具-免费开源,提高用户生产力,保护隐私和数据安全 包括但不限于…
- stm32选型手册,参考命名规则等信息
- 【医学图像分割】基于Swin-Transformer的细胞核分割模型:MoNuSeg数据集端到端训练与推理系统实现
- (70页PPT)WMS助力企业数字化转型.pptx
- 公益资料(70页PPT)智慧方案智慧医院信息化规划方案.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
