Skip to main content

CLS Logs

The interface for querying environment CLS logs can be invoked via commonService.

Log Query

1. Interface Description

Function: Query CLS logs with specified conditions.

Interface declaration: manager.commonService().call({ Action: 'SearchClsLog', Param: {}}): Promise<Object>

⚠️ Starting from version 3.0.0, commonService is used as a method with request parameters (service?: string, version?: string), which constitutes a breaking change.

2. Input Parameters

FieldRequiredTypeDescription
EnvIdYesStringEnvironment ID
StartTimeRequiredStringStart time condition for querying, in the format YYYY-MM-DD HH:mm:ss
EndTimeRequiredStringEnd time condition for querying, in the format YYYY-MM-DD HH:mm:ss
QueryStringRequiredStringQuery statement. For details, refer to here
LimitRequiredStringThe number of log entries to return per request. The maximum is 100.
SortOptionalBooleanSort by time asc (ascending) or desc (descending). Default is desc.
UseLuceneOptionalBooleanSpecifies whether to use Lucene syntax. Default is false.

3. Response

FieldTypeDescription
RequestIdStringRequest unique identifier
LogResultsStringLog content result

ILogResObject

FieldTypeDescription
ContextStringCursor for fetching more search results
ListOverBooleanIndicates whether all search results have been returned
ResultsArray<ILogObject>Log content information

ILogObject

FieldTypeDescription
TopicIdStringLog topic ID
TopicNameStringLog topic name
TimestampStringLog time
ContentStringLog content
FileNameStringCollection path
SourceStringLog source device

4. Sample Code

import CloudBase from "@cloudbase/manager-node";
const moment = require("moment"); // Date formatting library, requires manual dependency installation

const manager = new CloudBase({
secretId: "Your SecretId",
secretKey: "Your SecretKey",
envId: "Your envId", // CloudBase environment ID, obtain from the Tencent CloudBase Console
});

const { functions } = manager;

async function test() {
const logs = await functions.getFunctionLogs({ name: "your function name" });
const { Data } = logs;
for (let item in Data) {
console.log(item.RequestId);
// Query cls logs based on requestId
const clsLogRes = await manager.commonService().call({
Action: "SearchClsLog",
Param: {
EnvId: cloudBaseConfig.envId,
StartTime: moment(new Date().getTime() - 24 * 60 * 60 * 1000).format(
"YYYY-MM-DD HH:mm:ss"
), // Start time, e.g., one day ago
EndTime: moment().format("YYYY-MM-DD HH:mm:ss"), // End time, e.g., current time
Limit: 100,
Sort: "asc",
QueryString: `requestId:${item.RequestId}`,
},
});
console.log("clsLogRes", clsLogRes);
}
}

test();