UNPKG

sat-utils

Version:
112 lines 3.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.colors = void 0; exports.createLogger = createLogger; exports.wrapInRed = wrapInRed; exports.wrapInMagenta = wrapInMagenta; exports.wrapInGreen = wrapInGreen; exports.wrapInYellow = wrapInYellow; exports.wrapInBlue = wrapInBlue; /* eslint-disable no-console */ const listOfColors = { '': '', Reset: '\u001B[0m', Bright: '\u001B[1m', Dim: '\u001B[2m', Underscore: '\u001B[4m', Blink: '\u001B[5m', Reverse: '\u001B[7m', Hidden: '\u001B[8m', FgBlack: '\u001B[30m', FgRed: '\u001B[31m', FgGreen: '\u001B[32m', FgYellow: '\u001B[33m', FgBlue: '\u001B[34m', FgMagenta: '\u001B[35m', FgCyan: '\u001B[36m', FgWhite: '\u001B[37m', BgBlack: '\u001B[40m', BgRed: '\u001B[41m', BgGreen: '\u001B[42m', BgYellow: '\u001B[43m', BgBlue: '\u001B[44m', BgMagenta: '\u001B[45m', BgCyan: '\u001B[46m', BgWhite: '\u001B[47m', }; function wrapInGreen(txt) { return `\u001B[34m${txt}\u001B[0m`; } function wrapInRed(txt) { return `\u001B[31m${txt}\u001B[0m`; } function wrapInBlue(txt) { return `\u001B[34m${txt}\u001B[0m`; } function wrapInYellow(txt) { return `\u001B[33m${txt}\u001B[0m`; } function wrapInMagenta(txt) { return `\u001B[35m${txt}\u001B[0m`; } const colors = { red: (text) => wrapInRed(text), magenta: (text) => wrapInMagenta(text), green: (text) => wrapInGreen(text), yellow: (text) => wrapInYellow(text), blue: (text) => wrapInBlue(text), }; exports.colors = colors; function createLogger() { const logger = { // 'ERROR' | 'WARN' | 'INFO' | 'VERBOSE'; logLevel: 'ERROR', log(...args) { if (this.logLevel === 'VERBOSE') { console.log(colors.green('LOG: '), ...args); } }, info(...args) { if (this.logLevel === 'VERBOSE' || this.logLevel === 'INFO') { console.info(colors.yellow('INFO: '), ...args); } }, warn(...args) { if (this.logLevel === 'VERBOSE' || this.logLevel === 'INFO' || this.logLevel === 'WARN') { console.warn(colors.magenta('WARNING: '), ...args); } }, error(...args) { if (this.logLevel === 'VERBOSE' || this.logLevel === 'INFO' || this.logLevel === 'WARN' || this.logLevel === 'ERROR') { console.error(colors.red('ERROR: '), ...args); } }, setLogLevel(level) { this.logLevel = level; }, /** * @param {string} loggerDescription description of the new log level * @param {string} logLevel log level id * @param {string} description description that will be used for output * @param {string} consoleOutput outputl method/level * @param {string} descriptionColor description section color * @param {string} messageColor message section color * @returns {!object} logger */ addCustomLevel(loggerDescription, logLevel, description, consoleOutput = 'log', descriptionColor = 'FgWhite', messageColor = '') { logger[loggerDescription] = (message, ...args) => { if (logger.logLevel === logLevel) { const descriptionPart = `${listOfColors[descriptionColor]}${description}${listOfColors.Reset}`; const messagePart = messageColor ? `${listOfColors[messageColor]}${message}${listOfColors.Reset}` : message; console[consoleOutput](`${descriptionPart}`, messagePart, ...args); } }; return logger; }, }; return logger; } //# sourceMappingURL=logger.js.map