UNPKG

@just-every/mcp-read-website-fast

Version:

Markdown Content Preprocessor - Fetch web pages, extract content, convert to clean Markdown

59 lines (58 loc) 1.81 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 { level; name; quiet; constructor(name, level = LogLevel.INFO) { this.name = name; this.level = level; this.quiet = process.env.MCP_QUIET === 'true' || (!process.env.MCP_DEBUG && this.name === 'MCP'); } log(level, message, ...args) { if (level > this.level) return; if (this.quiet && level !== LogLevel.ERROR) return; const timestamp = new Date().toISOString(); const levelName = LogLevel[level]; const prefix = `[${timestamp}] [${levelName}] [${this.name}]`; switch (level) { case LogLevel.ERROR: console.error(prefix, message, ...args); break; case LogLevel.WARN: console.error(prefix, message, ...args); break; default: console.error(prefix, message, ...args); } } error(message, ...args) { this.log(LogLevel.ERROR, message, ...args); } warn(message, ...args) { this.log(LogLevel.WARN, message, ...args); } info(message, ...args) { this.log(LogLevel.INFO, message, ...args); } debug(message, ...args) { this.log(LogLevel.DEBUG, message, ...args); } setLevel(level) { this.level = level; } } export const logger = new Logger('MCP'); const envLevel = process.env.LOG_LEVEL?.toUpperCase(); if (envLevel && envLevel in LogLevel) { logger.setLevel(LogLevel[envLevel]); }