Android SDK 上传日志

最近更新时间:2025-01-25 17:08:12

我的收藏
本文介绍如何快速使用日志服务的 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
地域信息,填写请参考 可用地域 中 API 上传日志 Tab 中的域名。
secretId
String
云 API 密钥信息,密钥信息获取请前往 API 密钥管理。并请确保密钥关联的账号具有相应的 SDK 上传日志权限
secretKey
String
云 API 密钥信息,密钥信息获取请前往 API 密钥管理。并请确保密钥关联的账号具有相应的 SDK 上传日志权限
topicId
String
日志主题的 ID 信息。

日志上传示例代码

在您的 Android 项目中,可以使用如下的示例代码实现日志上传的能力,示例代码如下所示。
不建议将云 API 密钥信息明文存储至工程代码中,可通过环境变量动态获取云 API 密钥信息,具体操作请参见 配置环境变量
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,如果不指定,默认填充服务端接收到的网络出口ip
final 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();
}

结语

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