UNPKG

rollup-plugin-version-injector

Version:

A simple rollup.js plugin to inject your application's version number and/or today's date into your built js, html, and css files!

56 lines 1.83 kB
import { default as chalk } from 'chalk'; export class VILogger { constructor(logLevel, logger = console) { this.DEFAULT_LOG_LEVEL = ['warn', 3]; this.logger = logger; this.internalLog = []; this.logMap = this.buildMap(); let logLevelNum = this.logMap.get(logLevel); let configLogLevel = 'debug'; let configLogMessage = `setting logging level to "${logLevel}"`; if (!logLevelNum) { configLogMessage = `log level passed in was invalid ("${logLevel}"). setting log level to default ("${this.DEFAULT_LOG_LEVEL[0]}")`; configLogLevel = 'warn'; logLevel = this.DEFAULT_LOG_LEVEL[0]; logLevelNum = this.DEFAULT_LOG_LEVEL[1]; } this.logLevel = [logLevel, logLevelNum]; this[configLogLevel](configLogMessage); } log(...args) { this.logIt('log', ...args); } debug(...args) { this.logIt('debug', ...args); } info(...args) { this.logIt('info', ...args); } warn(...args) { this.logIt('warn', ...args); } error(...args) { this.logIt('error', ...args); } logIt(level, ...args) { let logLevel = this.logMap.get(level); if (!logLevel) { logLevel = this.logLevel[1]; level = this.logLevel[0]; } if (logLevel >= this.logLevel[1]) { this.logger[level](chalk.magenta.bold(' [VI]'), chalk.yellow(`[${level.padEnd(5)}]`), ...args); } this.internalLog.push({ level, log: args }); } buildMap() { const map = new Map(); map.set('debug', 1); map.set('info', 2); map.set('warn', 3); map.set('error', 4); map.set('log', 5); return map; } } //# sourceMappingURL=logger.js.map