youling-task
Version:
基于POMDP的研发任务分解工具,支持MCP协议
39 lines • 1.15 kB
JavaScript
/**
* 日志工具 - 将所有日志重定向到stderr,避免干扰MCP通信
*/
/**
* 日志级别
*/
export var LogLevel;
(function (LogLevel) {
LogLevel["DEBUG"] = "debug";
LogLevel["INFO"] = "info";
LogLevel["WARN"] = "warn";
LogLevel["ERROR"] = "error";
})(LogLevel || (LogLevel = {}));
/**
* 将日志输出到stderr,避免干扰MCP通信
* @param level 日志级别
* @param message 日志消息
* @param data 额外数据
*/
export function log(level, message, data) {
const timestamp = new Date().toISOString();
const logData = {
level,
timestamp,
message,
...(data ? { data } : {})
};
// 输出到stderr而不是stdout,避免干扰MCP通信
process.stderr.write(`${JSON.stringify(logData)}\n`);
}
// 便捷日志函数
export const logger = {
debug: (message, data) => log(LogLevel.DEBUG, message, data),
info: (message, data) => log(LogLevel.INFO, message, data),
warn: (message, data) => log(LogLevel.WARN, message, data),
error: (message, data) => log(LogLevel.ERROR, message, data)
};
export default logger;
//# sourceMappingURL=logger.js.map