UNPKG

@yepcode/mcp-server

Version:

MCP server for YepCode

47 lines (46 loc) 1.38 kB
import { isObject } from "./utils.js"; class Logger { constructor(name = undefined, { logsToStderr = false } = {}) { this.name = name; this.logsToStderr = logsToStderr; } log(level, message, data = undefined) { let dataOutput = undefined; if (data) { if (data instanceof Error) { dataOutput = { error: data.stack || data.message || String(data), }; } else if (isObject(data)) { dataOutput = JSON.stringify(data); } else { dataOutput = String(data); } } const logEntry = { time: new Date().toISOString(), level_name: level, message: `${this.name ? `[${this.name}] ` : ""}${message}`, data: dataOutput, }; const logString = JSON.stringify(logEntry); if (this.logsToStderr || level === "ERROR") { console.error(logString); } else { console.log(logString); } } error(message, error = undefined) { this.log("error", message, error); } warn(message, data = undefined) { this.log("warn", message, data); } info(message, data = undefined) { this.log("info", message, data); } } export default Logger;