@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
JavaScript
;
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();
}