无痕埋点及上报阿里云日志
介绍
该项目主要提供无痕埋点的功能,关于无痕埋点的文章应该有很多,这里不做过多解释。埋点不覆盖全部事件,只处理了一些简单常用的事件,后期需求会针对具体的业务扩展对象(Model)。
其次,项目还提供了目前比较流行的阿里云日志上报功能,上报格式支持JSON和Protocol Buffer格式。
.protocol 文件转objc
Sls.pbobjc.h和Sls.pbobjc.m 文件的导出
-
首页需要安装protoc版本
可以自行从网上下载,例如我之前的版本是protoc-3.0.0.
安装protoc版本protoc-3.0.0-osx-x86_64,将该bin文件下的protoc放入到/usr/local/bin/
-
protoc文件转objc
- cd到当前目录下,执行命令行
protoc sls.proto --objc_out="./"
当前文件下会生成两个文件。
可能会有警告,如
[libprotobuf WARNING google/protobuf/compiler/parser.cc:547] No syntax specified for the proto file: sls.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
说明需要指定protoc版本,如果文件导出成功,此处可以忽略。
在sls.proto文件的第一行插入
syntax = "proto2";
或syntax = "proto3";
软件架构
软件架构说明
安装教程
- 支持pod
pod 'BuryingPoint'
使用说明
-
安装Pod后,在BuryingPointAliLogConst.h中有需要修改的阿里云日志相关配置项。
#pragma mark - 以下需要根据阿里云配置项赋值 static NSString * AliLogDefaultEndPoint = @""; //cn-hangzhou.log.aliyuncs.com static NSString * AliLogDefaultProject = @""; static NSString * AliLogDefaultAccessKeyID = @""; static NSString * AliLogDefaultAccessKeySecret = @""; static NSString * AliLogDefaultLogstores = @"";
在使用前请完成赋值。
-
埋点事件可以继承
BuryingPointBaseModel
,添加各种日志事件类型。 -
提供了上报事件的入口。
/// 根据上报策略 上报埋点 - (void)handleEventLogWithModel:(BuryingPointBaseModel *)model strategy:(BPLogUploadStrategy)strategy; /// 校验所有埋点数据立即上传 - (void)checkUploadBuryingPointImmediately;
其他
欢迎沟通交流...