UNPKG

vde-layout

Version:

Terminal multiplexer layout management tool for VDE (Vibe Coding Development Environment)

67 lines 2.29 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.logger = exports.Logger = exports.LogLevel = void 0; const chalk_1 = __importDefault(require("chalk")); var LogLevel; (function (LogLevel) { LogLevel[LogLevel["ERROR"] = 0] = "ERROR"; LogLevel[LogLevel["WARN"] = 1] = "WARN"; LogLevel[LogLevel["INFO"] = 2] = "INFO"; LogLevel[LogLevel["DEBUG"] = 3] = "DEBUG"; })(LogLevel || (exports.LogLevel = LogLevel = {})); class Logger { level; prefix; constructor(options = {}) { this.level = options.level ?? this.getDefaultLogLevel(); this.prefix = options.prefix ?? ""; } getDefaultLogLevel() { if (process.env.VDE_DEBUG === "true") { return LogLevel.DEBUG; } if (process.env.VDE_VERBOSE === "true") { return LogLevel.INFO; } return LogLevel.WARN; } formatMessage(message) { return this.prefix ? `${this.prefix} ${message}` : message; } error(message, error) { if (this.level >= LogLevel.ERROR) { console.error(chalk_1.default.red(this.formatMessage(`Error: ${message}`))); if (error && process.env.VDE_DEBUG === "true") { console.error(chalk_1.default.gray(error.stack)); } } } warn(message) { if (this.level >= LogLevel.WARN) { console.warn(chalk_1.default.yellow(this.formatMessage(message))); } } info(message) { if (this.level >= LogLevel.INFO) { console.log(this.formatMessage(message)); } } debug(message) { if (this.level >= LogLevel.DEBUG) { console.log(chalk_1.default.gray(this.formatMessage(`[DEBUG] ${message}`))); } } success(message) { console.log(chalk_1.default.green(this.formatMessage(message))); } createChild(prefix) { const childPrefix = this.prefix ? `${this.prefix} ${prefix}` : prefix; return new Logger({ level: this.level, prefix: childPrefix }); } } exports.Logger = Logger; exports.logger = new Logger(); //# sourceMappingURL=logger.js.map