UNPKG

@pulzar/cli

Version:

Ultimate command-line interface for Pulzar framework - scaffolding, development server, building, testing, code generation, health diagnostics, security auditing, and deployment tools for modern Node.js applications

51 lines 1.51 kB
export 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 || (LogLevel = {})); export class Logger { options; constructor(options = {}) { this.options = { level: LogLevel.INFO, enableColors: true, ...options, }; } error(message, context) { this.log(LogLevel.ERROR, message, context); } warn(message, context) { this.log(LogLevel.WARN, message, context); } info(message, context) { this.log(LogLevel.INFO, message, context); } debug(message, context) { this.log(LogLevel.DEBUG, message, context); } success(message) { console.log(`✓ ${message}`); } log(level, message, context) { if (level > this.options.level) return; const timestamp = new Date().toISOString(); const levelName = LogLevel[level]; const contextStr = context ? ` ${JSON.stringify(context)}` : ""; const output = `[${timestamp}] ${levelName}: ${message}${contextStr}`; console.log(output); } setLevel(level) { this.options.level = level; } } // Default logger instance export const logger = new Logger(); // Factory function export function createLogger(options) { return new Logger(options); } //# sourceMappingURL=logger.js.map