本文介绍如何快速使用日志服务的 Android SDK 实现日志上传的操作。
前提条件
创建并获取云 API 密钥信息 secretId 和 secretKey,密钥信息获取请前往 API 密钥管理。
请确保密钥关联的账号具有相应的 SDK 上传日志权限。
已安装 Android 开发环境。
安装 Android SDK
1. 创建 Android 项目。
2. 在 Android Studio 工程对应模块下的 build.gradle 文件的 dependencies 块中增加以下依赖(build.gradle 通常在 APP 目录下)。
implementation(group: 'com.tencentcloudapi.cls', name: 'tencentcloud-cls-sdk-android', version: '1.0.13')
请求参数
变量 | 类型 | 是否必填 | 说明 |
endpoint | String | 是 | |
secretId | String | 是 | |
secretKey | String | 是 | |
topicId | String | 是 | 日志主题的 ID 信息。 |
日志上传示例代码
在您的 Android 项目中,可以使用如下的示例代码实现日志上传的能力,示例代码如下所示。
public static void main(String[] args) {String endpoint = "ap-xxxxxx.cls.tencentcs.com";// API密钥 secretId,必填String secretId = "";// API密钥 secretKey,必填String secretKey = "";// 日志主题ID,必填String topicId = "";// NetworkUtils.getLocalMachineIP() 获取本地网卡ip,如果不指定,默认填充服务端接收到的网络出口ipfinal AsyncProducerConfig config = new AsyncProducerConfig(endpoint, secretId, secretKey, "", NetworkUtils.getLocalMachineIP());// 构建一个客户端实例final AsyncProducerClient client = new AsyncProducerClient(config);for (int i = 0; i < 10000; ++i) {List<LogItem> logItems = new ArrayList<>();int ts = (int) (System.currentTimeMillis() / 1000);LogItem logItem = new LogItem(ts);logItem.PushBack(new LogContent("__CONTENT__", "hello world"));logItem.PushBack(new LogContent("city", "xxxxxxx"));logItem.PushBack(new LogContent("logNo", Integer.toString(i)));logItem.PushBack(new LogContent("__PKG_LOGID__", (String.valueOf(System.currentTimeMillis()))));logItems.add(logItem);client.putLogs(topicId, logItems, result -> System.out.println(result.toString()));}client.close();}
结语