UNPKG

serverless-offline-msk

Version:

A serverless offline plugin that enables AWS MSK events

57 lines (45 loc) 1.97 kB
'use strict'; const uniGlobal = require('uni-global')('serverless/serverless/202110'); if (uniGlobal.logLevelIndex != null) { // An edge case, of log reporter being setup second time for Node.js process // The only known scenario is `sls --version` being run with global v2 `serverless` // installation, which falls back to locally installed v2 `serverless` installation return; } if (process.env.SLS_LOG_LEVEL !== 'debug' && process.argv.includes('--verbose')) { process.env.SLS_LOG_LEVEL = 'info'; } process.argv.some((flag, index) => { const namespace = (() => { if (flag === '--debug') return process.argv[index + 1]; if (flag.startsWith('--debug=')) return flag.slice('--debug='.length); return null; })(); if (!namespace) return false; if (namespace === '*') process.env.SLS_LOG_LEVEL = 'debug'; else process.env.SLS_LOG_DEBUG = namespace; return true; }); const logReporter = require('../lib/log-reporters/node/log-reporter'); const { emitter: outputEmitter } = require('../lib/log/get-output-reporter'); const joinTextTokens = require('../lib/log/join-text-tokens'); const logLevels = require('log/levels'); const logLevelIndex = logLevels.includes(process.env.SLS_LOG_LEVEL) ? logLevels.indexOf(process.env.SLS_LOG_LEVEL) : logLevels.indexOf('notice'); const isInteractive = (process.stdin.isTTY && process.stdout.isTTY && !process.env.CI) || process.env.SLS_INTERACTIVE_SETUP_ENABLE; // Apply style decorators require('../lib/log-reporters/node/style'); // Event logs logReporter({ logLevelIndex, debugNamespaces: process.env.SLS_LOG_DEBUG }); uniGlobal.logLevelIndex = logLevelIndex; // Substantial output (not subject to filtering) outputEmitter.on('write', ({ mode, textTokens }) => { if (mode === 'text') process.stdout.write(joinTextTokens(textTokens)); }); uniGlobal.logIsInteractive = isInteractive; if (isInteractive) { require('../lib/log-reporters/node/progress-reporter')({ logLevelIndex }); }