简介
本文档主要介绍 COS iOS SDK 如何集成日志上报功能。
注意:
COS iOS SDK 版本需要大于等于 v6.3.6。
功能说明
日志上报功能将客户端 COS SDK 的运行日志,上报至腾讯云日志服务 CLS。您可在 COS 控制台上查看请求成功率、任务次数、错误码以及地域等数据,便于您后续分析和了解业务运行情况。
费用说明
说明:
停止日志上报的方式有两种:
1. 在 podfile 中删除
pod "QCloudTrack/Cls"
重新pod install
,并删除初始化代码。 即可不再进行 CLS 日志上报初始化。2. 从控制台删除对应的应用,删除应用将删除该应用的所有历史日志数据,且不可恢复。该操作属于高危操作,请您谨慎操作。
准备事项
操作步骤
步骤一、安装 CLS SDK
在 podfile 文件中加入:
pod "QCloudTrack/Cls"
执行
pod install
即可。步骤二、初始化 CLS SDK
1. 前往 准备事项 中的应用列表,点击应用名称或配置详情,进入该应用详情页,在基本信息页签中获取到日志主题ID和地域 日志地域说明,例如:日志主题ID为 c09216e3-ade5-4725-a000-000000000000,地域为 ap-guangzhou。
在
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法中加入以下代码:// 使用 TopicId 和 endpoint 示例化 CLS 上报服务(QCloudCLSTrackService);QCloudCLSTrackService * service = [[QCloudCLSTrackService alloc]initWithTopicId:@"日志主题ID" endpoint:@"地域"];// 将示例化的service 加入 QCloudTrackService 中并指定serviceKey// serviceKey 固定值:qcloud_track_cos_sdk。[[QCloudTrackService singleService] addTrackService:service serviceKey:@"qcloud_track_cos_sdk"];
步骤三、初始化密钥
1、使用临时密钥进行上报
注意:
如果您一定要使用永久密钥,建议遵循 最小权限指引原则 对永久密钥的权限范围进行限制。
[service setupCredentialsRefreshBlock:^QCloudClsSessionCredentials * _Nonnull{QCloudClsSessionCredentials * credentials = [QCloudClsSessionCredentials new];credentials.secretId = @"SECRETID"; // 临时密钥 SecretIdcredentials.secretKey = @"SECRETKEY"; // 临时密钥 SecretKeycredentials.token = @"SESSIONTOKEN"; // 临时密钥 Tokencredentials.expiredTime = 1556183496L;//临时密钥有效截止时间戳,单位是秒// 最后返回临时密钥信息对象return credentials;}];
2、使用永久密钥进行上报
您可以使用腾讯云的固定密钥来进行开发阶段的本地调试。由于该方式存在泄露密钥的风险,请务必在上线前替换为临时密钥的方式。
注意:
开发模式调试上报时请将项目切换为 Release 模式运行,或将 DEBUG 宏改为0。
QCloudClsSessionCredentials * credentials = [QCloudClsSessionCredentials new];//用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。//子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140credentials.secretId = @"SECRETID";//用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。//子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140credentials.secretKey = @"SECRETKEY";[service setupPermanentCredentials:cre];
步骤四、设置网络权限
CLS 日志上传是基于 HTTP 的,因此需要配置支持 HTTP 请求,需要在项目的 info.plist 文件中添加 App Transport Security Settings->Allow Arbitrary Loads ,并设置为 YES。
步骤五、配置自定义字段
1. 在日志主题索引字段中增加自定义字段。
2. 代码中设置上述自定义字段和具体的值。
NSDictionary * businessParams = @{@"businessKey1":@"businessValue1",@"businessKey2":@"businessValue2",@"businessKey3":@"businessValue3"};[[QCloudTrackService singleService] setBusinessParams:businessParams];
步骤六、结果验证