lambee
Version:
A tool to help developer work with AWS Lambda.
27 lines (16 loc) • 842 B
JavaScript
const aws = require('./aws')
const transform = require('./transform')
const chrono = require('chrono-node')
const cache = require('../../lib/cache')
async function getLogs(fnName, startTimeStr, endTimeStr, logLevel, useCache, profile, region, debug) {
debug && console.debug('getLogs()')
const cacheKey = `fn-logs-${fnName}-${startTimeStr}-${endTimeStr}-${logLevel}-${profile}-${region}`
if (useCache && cache.get(cacheKey)) return cache.get(cacheKey)
const startTime = chrono.parseDate(startTimeStr)
const endTime = chrono.parseDate(endTimeStr)
const rawLogs = await aws.getLogs(fnName, startTime && startTime.getTime(), endTime && endTime.getTime(), region, profile, debug)
const result = transform(logLevel)(rawLogs.events)
cache.put(cacheKey, result)
return result
}
module.exports = getLogs