UNPKG

@wildcard-ai/deepcodex

Version:

Advanced codebase indexing and semantic search MCP server

47 lines 1.56 kB
/** * Logger - Simple logging utility for MCP server */ export class Logger { level; prefix; constructor(prefix = 'MCP', level = 'info') { this.prefix = prefix; this.level = level; } shouldLog(level) { const levels = ['debug', 'info', 'warn', 'error']; return levels.indexOf(level) >= levels.indexOf(this.level); } formatMessage(level, message, ...args) { const timestamp = new Date().toISOString(); const formatted = args.length > 0 ? `${message} ${args.map(a => JSON.stringify(a)).join(' ')}` : message; return `[${timestamp}] [${this.prefix}] [${level.toUpperCase()}] ${formatted}`; } debug(message, ...args) { if (this.shouldLog('debug')) { process.stderr.write(this.formatMessage('debug', message, ...args) + '\n'); } } info(message, ...args) { if (this.shouldLog('info')) { process.stderr.write(this.formatMessage('info', message, ...args) + '\n'); } } warn(message, ...args) { if (this.shouldLog('warn')) { process.stderr.write(this.formatMessage('warn', message, ...args) + '\n'); } } error(message, ...args) { if (this.shouldLog('error')) { process.stderr.write(this.formatMessage('error', message, ...args) + '\n'); } } setLevel(level) { this.level = level; } createChild(childPrefix) { return new Logger(`${this.prefix}:${childPrefix}`, this.level); } } //# sourceMappingURL=Logger.js.map