阿里雲Log ServiceSLS提供日誌採集用戶端HarmonyOS SDK,支援採集各類鴻蒙裝置的日誌。HarmonyOS SDK通過ArkTS封裝實現,使用C語言編寫。
版本說明
Log ServiceHarmonyOS SDK版本通過OpenHarmony三方庫中心託管發布。更多資訊,請參見Aliyun Log HarmonyOS SDK Release。
範例程式碼
Log ServiceHarmonyOS SDK提供相應的範例程式碼,方便您參考或直接使用。
import hilog from '@ohos.hilog';
// 匯入SDK模組
import { AliyunLog, LogCallback } from "@aliyunsls/producer"
// 初始化SDK
let aliyunLog: AliyunLog = new AliyunLog(
"<your endpoint>",
"<your project>",
"<your logstore>",
"<your accesskey id>",
"<your accesskey secret>",
"<your accesskey token>" // 僅當AccessKey是通過STS方式擷取時才需要
);
// 寫入日誌
aliyunLog.addLog(new Map(
[
["key1", "value1"],
["key2", "value2"],
["key3", "value3"],
]
));
class MyLog implements LogCallback {
// 設定SDK日誌回調
init() {
aliyunLog.setLogCallback(this);
}
// 寫入日誌
addLog() {
aliyunLog.addLog(new Map([
["key1", "val1"],
["key2", "val2"],
["key3", "val3"],
["key4", "val4"],
]))
}
// 處理日誌回調
// code錯誤碼說明參見後續文檔
onLogCallback(logStore: string, code: number, logBytes: number, compressedBytes: number, errorMessage: string) {
hilog.info(0x0000,
'testTag',
'onLogCallback. logStore: %{public}s, code: %{public}d, logBytes: %{public}d, compressedBytes: %{public}d, errorMessage: %{public}s',
logStore, code, logBytes, compressedBytes, errorMessage
);
aliyunLog.setAccessKey(
"<your accesskey id>", // 填入正確的AccessKey Id
"<your accesskey secret>", // 填入正確的AccessKey Secret
null // 填入正確的AccessKey Token. 只有當AccessKey是通過STS方式擷取時才需要
);
}
}
@Entry
@Component
struct Index {
@State message: string = 'Hello World'
private log: MyLog = new MyLog();
build() {
Row() {
Column() {
Text("Init")
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() => {
this.log.init();
});
Text("Add")
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() => {
this.log.addLog();
})
}
.width('100%')
}
.height('100%')
}
}
費用說明
使用HarmonyOS SDK產生的費用和使用控制台產生的費用一致。更多資訊,請參見計費概述。
相關文檔
安裝HarmonyOS SDK請參見安裝HarmonyOS SDK。
HarmonyOS SDK快速入門請參見HarmonyOS SDK快速入門。