Node.js调用AWS SDK获取CloudWatch最新10条日志流列表的问题
CloudWatch日志流列表获取方案
- 你需要的日志流列表查询功能有官方原生支持,无需使用不匹配的
getLogGroupFields接口,直接调用describeLogStreams方法即可实现获取最新10条日志流的需求,配置参数时指定按最后日志时间倒序、限制返回条数即可。 - 调用示例代码:
var params = { logGroupName: '你的日志组名称', /* 必填参数 */ orderBy: 'LastEventTime', // 按日志流最后一条日志的生成时间排序 descending: true, // 开启倒序,最新的日志流排在返回结果最前面 limit: 10 // 限制返回10条结果 }; cloudwatchlogs.describeLogStreams(params, function(err, data) { if (err) console.log(err, err.stack); // 错误处理逻辑 else { // data.logStreams即为最新的10条日志流列表 console.log(data.logStreams); } });
- 关于你提到的
time参数疑问:你之前找到的getLogGroupFields接口本身用途是查询日志组的索引字段配置,并不适用于日志流、日志内容查询场景,它的time参数确实是秒级Unix时间戳,代表查询该时间点之后生效的字段配置,你当前的需求不需要用到该接口。 - 如果你后续需要获取单条日志流内的最新日志内容,调用
getLogEvents接口时设置startFromHead: false即可从最新的日志开始返回,不需要提前知道日志生成时间。
内容的提问来源于stack exchange,提问作者Finn
相关产品推荐
相关产品推荐

