sls-dev-tools
Version:
The Dev Tools for the Serverless World
45 lines (37 loc) • 980 B
JavaScript
;
function getEventsFromStreams(logGroupName, logStreamNames, cloudwatchLogsAPI) {
const params = {
logGroupName,
logStreamNames,
limit: 50
};
return cloudwatchLogsAPI.filterLogEvents(params).promise().catch(err => {
console.error(err);
});
}
function getStreams(api, params) {
return api.describeLogStreams(params).promise().catch(err => {
console.error(err);
});
}
async function getLogEvents(logGroupName, cloudwatchLogsAPI) {
const params = {
logGroupName,
descending: true,
limit: 5,
orderBy: "LastEventTime"
};
const streams = await getStreams(cloudwatchLogsAPI, params);
if (streams) {
const streamNames = streams.logStreams.map(stream => stream.logStreamName);
if (streamNames.length === 0) {
return [];
}
const data = await getEventsFromStreams(logGroupName, streamNames, cloudwatchLogsAPI);
return data.events;
}
return null;
}
module.exports = {
getLogEvents
};