UNPKG

@felores/placid-mcp-server

Version:

Placid.app MCP server to list templates and generate images and videos

55 lines (54 loc) 1.77 kB
export var LogLevel; (function (LogLevel) { LogLevel["DEBUG"] = "DEBUG"; LogLevel["INFO"] = "INFO"; LogLevel["WARN"] = "WARN"; LogLevel["ERROR"] = "ERROR"; })(LogLevel || (LogLevel = {})); export class Logger { context; constructor(context = "PlacidMCP") { this.context = context; } formatMessage(level, message, context) { return { level, message, timestamp: new Date().toISOString(), context: { ...context, service: this.context, }, }; } log(message) { // In production, you might want to send this to a logging service const formattedMessage = `[${message.timestamp}] ${message.level} [${this.context}]: ${message.message}`; // Only log to stderr to avoid interfering with MCP protocol on stdout console.error(formattedMessage); if (message.context && Object.keys(message.context).length > 0) { console.error("Context:", message.context); } } debug(message, context) { this.log(this.formatMessage(LogLevel.DEBUG, message, context)); } info(message, context) { this.log(this.formatMessage(LogLevel.INFO, message, context)); } warn(message, context) { this.log(this.formatMessage(LogLevel.WARN, message, context)); } error(message, error, context) { this.log(this.formatMessage(LogLevel.ERROR, message, { ...context, error: error ? { name: error.name, message: error.message, stack: error.stack, } : undefined, })); } } // Export a default logger instance export const logger = new Logger();