IOS SDK 上传日志

最近更新时间:2025-01-08 17:30:22

我的收藏
本文介绍如何快速使用日志服务的 IOS SDK 实现日志上传的操作。更多 SDK 使用的详细内容,可见代码仓库 tencentcloud-cls-sdk-ios

前提条件

创建并获取云 API 密钥信息 accessKeyId 和 accessKey,密钥信息获取请前往 API 密钥管理
并请确保密钥关联的账号具有相应的 SDK 上传日志权限
已安装 iOS 开发环境。更多信息,请参见 Apple Developer

安装 iOS SDK

1. 创建 iOS 项目。
2. 导入头文件。
#import <TencentCloudLogProducer.h>
3. 在项目文件夹中,创建 Podfile 文件,并输入导入日志服务 iOS SDK 依赖包的命令。
pod 'TencentCloudLogProducer/Core', '1.1.2'

请求参数

变量
类型
是否必填
说明
endpoint
String
地域信息,填写请参见 可用地域 中 API 上传日志 Tab 中的域名。
secretId
String
云 API 密钥信息,密钥信息获取请前往 API 密钥管理。并请确保密钥关联的账号具有相应的 SDK 上传日志权限
secretKey
String
云 API 密钥信息,密钥信息获取请前往 API 密钥管理。并请确保密钥关联的账号具有相应的 SDK 上传日志权限
topicId
String
日志主题的 ID 信息。

日志上传示例代码

在您的项目中,可以使用如下的示例代码实现日志上传的能力,示例代码如下所示。
不建议将云 API 密钥信息明文存储至工程代码中,可通过环境变量动态获取云 API 密钥信息,具体操作,请参见 配置环境变量
// 填入域名信息,请参见链接中 API 上传日志 Tab 中的域名:https://cloud.tencent.com/document/product/614/18940#.E5.9F.9F.E5.90.8D
NSString* endpoint = @"project's_endpoint";

// 填入云API密钥信息。密钥信息获取请前往:https://console.cloud.tencent.com/cam/capi
// 并请确保密钥关联的账号具有相应的日志上传权限,权限配置指引:https://cloud.tencent.com/document/product/614/68374#.E4.BD.BF.E7.94.A8-api-.E4.B8.8A.E4.BC.A0.E6.95.B0.E6.8D.AE
// 建议从环境变量中获取密钥信息
NSString* accesskeyid = @"your_accesskey_id";
NSString* accesskeysecret = @"your_accesskey_secret";

// 设置要上传日志的主题 ID,替换为您的 Topic ID
NSString* topic_id = @"your_topic";

LogProducerConfig *config = [[LogProducerConfig alloc] initWithCoreInfo:[endpoint] accessKeyID:[accesskeyid] accessKeySecret:[accesskeysecret];
[config SetTopic:topic_id];
[config SetPackageLogBytes:1024*1024];
[config SetPackageLogCount:1024];
[config SetPackageTimeout:3000];
[config SetMaxBufferLimit:64*1024*1024];
[config SetSendThreadCount:1];
[config SetConnectTimeoutSec:10];
[config SetSendTimeoutSec:10];
[config SetDestroyFlusherWaitSec:1];
[config SetDestroySenderWaitSec:1];
[config SetCompressType:1];
//callback若传入空则不会回调
LogProducerClient *client; = [[LogProducerClient alloc] initWithClsLogProducer:config callback:nil];
Log* log = [[Log alloc] init];
[log PutContent:@"cls_key_1" value:@"cls_value_1"];
[log PutContent:@"cls_key_1" value:@"cls_value_2"];
LogProducerResult result = [client PostLog:log];

结语

通过以上步骤,您可以快速使用腾讯云 CLS 的 iOS SDK 完成日志的上传操作。如遇到任何问题,请 联系我们 获取帮助。