HarmonyOS SDK 上传日志

最近更新时间:2024-12-16 10:02:23

我的收藏
本文介绍如何快速使用日志服务的 HarmonyOS SDK 实现日志上传的操作。

前提条件

已安装 Harmony OS 应用开发环境。更多信息,请参见 HarmonyOS 开发者指南
创建并获取云 API 密钥信息 access_secret 和 access_key,密钥信息获取请前往 API 密钥管理。并请确保密钥关联的账号具有相应的 SDK 上传日志权限

安装 HarmonyOS SDK

1. 创建 Harmony OS 应用项目。
2. 导入日志服务 Harmony OS 模块,在项目下执行如下命令。
ohpm install @farmerx/tencntcloud-cls-sdk-ohos
3. 执行完成后,可以在指定的 ets 文件中导入日志服务模块,进行引用并编写代码。
import { TencntcloudLog, LogCallback } from "@farmerx/tencntcloud-cls-sdk-ohos"

请求参数

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

日志上传示例代码

在您的 Harmony 项目中,可以使用如下的示例代码实现日志上传的能力,示例代码如下所示。
在代码中直接明文使用云 API 密钥(access_key、access_secret)风险较高,为确保安全性,建议使用 临时密钥 进行鉴权。
import {LogProducer} from "@farmerx/tencntcloud-cls-sdk-ohos";

// 初始化
let producer = new LogProducer(
"#[topic_id]",
"#[access_key]",
"#[access_secret]",
"#[access_token]",
"",
"#[endpoint]", 100, 100, 2000)

// 设置callback 回掉函数
producer.setCallback((err: Error | null, topicID: string, code: number, request_id: string, errorMessage: string) => {
if (err==null) {
hilog.info(0x0000,
'testTagCLS',
'onLogCallback.topic: %{public}s , code: %{public}d, request_id: %{public}s, errorMessage: %{public}s',
topicID, code, request_id, errorMessage
);
} else {
hilog.info(0x0000,
'testTagCLS',
'onLogCallback.topic: %{public}s, code: %{public}d, request_id: %{public}s, errorMessage: %{public}s',
topicID, code, request_id, err.message
);
}
})

// 设置来源 IP
producer.setSourceIp("127.0.0.3")


// reset access key
producer.setAccessKey("#[access_key]", "#[access_secret]", "#[access_token]");

// 同步发送
function syncsencLog() {
let logs: Record<string, string>[] = [];
let log: Record<string, string> = {};
// 添加键值对
log["key1"] = "value1";
log["key2"] = "value2";
log["key3"] = "value3";
logs.push(log)
try {
let rsp = producer.syncSendLogs( "127.0.0.1", logs)
hilog.info(0x0000, 'testTag', "========%{public}s, %{public}s", rsp.requestId, rsp.rspText)
} catch (e) {
// ....
}
}
// 异步发送
function asyncSendLog() {
let log: Record<string, string> = {};
// 添加键值对
log["key1"] = "value1";
log["key2"] = "value2";
log["key3"] = "value3";
try {
producer.addLog(log)
} catch (e) {
// ....
}
}

asyncSendLog()
sencLog()


结语

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