UNPKG

omnifocus-mcp

Version:

Model Context Protocol (MCP) server that integrates with OmniFocus for AI assistant interaction

44 lines (43 loc) 1.23 kB
const LOG_LEVELS = [ "debug", "info", "notice", "warning", "error", "critical", "alert", "emergency" ]; export class Logger { server; minLevel = "info"; constructor(server) { this.server = server; } setLevel(level) { this.minLevel = level; } getLevel() { return this.minLevel; } shouldLog(level) { return LOG_LEVELS.indexOf(level) >= LOG_LEVELS.indexOf(this.minLevel); } log(level, logger, data) { if (!this.shouldLog(level)) return; // sendLoggingMessage is async — use .catch() to handle pre-handshake calls gracefully this.server.sendLoggingMessage({ level, logger, data }).catch(() => { // Connection may not be established yet; fall back to stderr console.error(`[${level}] [${logger}]`, data); }); } debug(logger, data) { this.log("debug", logger, data); } info(logger, data) { this.log("info", logger, data); } notice(logger, data) { this.log("notice", logger, data); } warning(logger, data) { this.log("warning", logger, data); } error(logger, data) { this.log("error", logger, data); } }