UNPKG

kubricate

Version:

A TypeScript framework for building reusable, type-safe Kubernetes infrastructure — without the YAML mess.

50 lines (49 loc) 1.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SilentLogger = exports.ConsoleLogger = void 0; var _ansis = /*#__PURE__*/_interopRequireDefault(/*#__PURE__*/require("ansis")); var _constant = /*#__PURE__*/require("./constant.js"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } class ConsoleLogger { level; constructor(level = 'debug') { this.level = level; } shouldLog(target) { if (this.level === 'silent') return false; // silent disables all except manual error() const levels = ['error', 'warn', 'info', 'debug']; return levels.indexOf(target) <= levels.indexOf(this.level); } log(message) { if (this.shouldLog('info')) console.log(message); } info(message) { if (this.shouldLog('info')) console.info(`${_constant.MARK_INFO} ${message}`); } warn(message) { if (this.shouldLog('warn')) console.warn(_ansis.default.yellow(`${_constant.MARK_WARNING} ${message}`)); } error(message) { console.error(_ansis.default.red(`${_constant.MARK_ERROR} ${message}`)); } debug(message) { if (this.shouldLog('debug')) console.debug(_ansis.default.dim(`[debug] ${message}`)); } } exports.ConsoleLogger = ConsoleLogger; class SilentLogger { level = 'silent'; log() {} info() {} warn() {} error() {} debug() {} } exports.SilentLogger = SilentLogger; //# sourceMappingURL=logger.js.map