UNPKG

@kya-os/mcp-i

Version:

COMING SOON:Production-ready MCP Identity with automatic registration, key rotation, and optimized performance

86 lines (85 loc) 2.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LoggerFactory = exports.ConsoleLogger = exports.SilentLogger = void 0; exports.getLogger = getLogger; class SilentLogger { debug() { } info() { } warn() { } error() { } } exports.SilentLogger = SilentLogger; class ConsoleLogger { constructor(prefix = '[MCP-I]', level = 'info') { this.prefix = prefix; this.level = level; } shouldLog(level) { const levels = ['debug', 'info', 'warn', 'error', 'silent']; const currentIndex = levels.indexOf(this.level); const messageIndex = levels.indexOf(level); return messageIndex >= currentIndex; } debug(message, ...args) { if (this.shouldLog('debug')) { console.log(`${this.prefix} [DEBUG]`, message, ...args); } } info(message, ...args) { if (this.shouldLog('info')) { console.log(`${this.prefix} [INFO]`, message, ...args); } } warn(message, ...args) { if (this.shouldLog('warn')) { console.warn(`${this.prefix} [WARN]`, message, ...args); } } error(message, ...args) { if (this.shouldLog('error')) { if (args.length > 0 && args[0] instanceof Error) { const error = args[0]; console.error(`${this.prefix} [ERROR]`, message); console.error(`${this.prefix} [ERROR] Message:`, error.message); if (this.level === 'debug' && error.stack) { console.error(`${this.prefix} [ERROR] Stack:`, error.stack); } if (args.length > 1) { console.error(`${this.prefix} [ERROR] Additional info:`, ...args.slice(1)); } } else { console.error(`${this.prefix} [ERROR]`, message, ...args); } } } } exports.ConsoleLogger = ConsoleLogger; class LoggerFactory { static setLogger(logger) { LoggerFactory.instance = logger; } static getLogger() { return LoggerFactory.instance; } static createConsoleLogger(level) { return new ConsoleLogger('[MCP-I]', level); } static createSilentLogger() { return new SilentLogger(); } static reset() { LoggerFactory.instance = new SilentLogger(); } } exports.LoggerFactory = LoggerFactory; LoggerFactory.instance = new SilentLogger(); function getLogger(logLevel) { if (logLevel === 'silent') { return new SilentLogger(); } else if (logLevel) { return new ConsoleLogger('[MCP-I]', logLevel); } return LoggerFactory.getLogger(); }