UNPKG

serverless

Version:

Serverless Framework - Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more

65 lines (58 loc) 1.61 kB
'use strict'; const BbPromise = require('bluebird'); const userStats = require('../../utils/userStats'); class Logs { constructor(serverless) { this.serverless = serverless; this.userStats = userStats; this.commands = { logs: { usage: 'Output the logs of a deployed function', configDependent: true, lifecycleEvents: ['logs'], options: { function: { usage: 'The function name', required: true, shortcut: 'f', }, stage: { usage: 'Stage of the service', shortcut: 's', }, region: { usage: 'Region of the service', shortcut: 'r', }, tail: { usage: 'Tail the log output', shortcut: 't', }, startTime: { usage: 'Logs before this time will not be displayed', }, filter: { usage: 'A filter pattern', }, interval: { usage: 'Tail polling interval in milliseconds. Default: `1000`', shortcut: 'i', }, }, }, }; this.hooks = { 'after:logs:logs': () => BbPromise.bind(this).then(this.track), }; } track() { const sls = this.serverless; if (sls && sls.processedInput && sls.processedInput.options) { const opts = sls.processedInput.options; const type = opts.tail ? 'service_logsTailed' : 'service_logsViewed'; this.userStats.track(type); } return BbPromise.resolve(); } } module.exports = Logs;