socraticode
Version:
SocratiCode — MCP server for local codebase indexing, semantic search, and code dependency graphs. All private, all local via Docker.
39 lines • 1.72 kB
TypeScript
/**
* Structured logger for SocratiCode MCP server.
* Outputs JSON-structured log lines to stderr (stdout is reserved for MCP JSON-RPC).
* Also forwards log entries as MCP notifications/message so hosts like Cline
* can display them in their UI.
*
* When SOCRATICODE_LOG_FILE is set to an absolute path, all log entries are
* also appended to that file — useful for debugging when the MCP host doesn't
* surface log notifications.
*/
export type LogLevel = "debug" | "info" | "warn" | "error";
/** MCP spec levels — "warning" is the spec spelling (our "warn"). */
type McpLogLevel = "debug" | "info" | "warning" | "error";
/**
* Override the active log level. Intended for tests so they don't depend on
* `SOCRATICODE_LOG_LEVEL` from the host shell. Production callers normally
* leave this alone and rely on the env-derived initial level.
*/
export declare function setLogLevel(level: LogLevel): void;
/** Get the active log level. Useful for tests asserting their setup. */
export declare function getLogLevel(): LogLevel;
type LogSenderFn = (params: {
level: McpLogLevel;
logger: string;
data: string;
}) => void;
/**
* Register a function that forwards log entries as MCP notifications/message.
* Called once from index.ts immediately after `new McpServer(...)`.
*/
export declare function setMcpLogSender(fn: LogSenderFn): void;
export declare const logger: {
debug(message: string, context?: Record<string, unknown>): void;
info(message: string, context?: Record<string, unknown>): void;
warn(message: string, context?: Record<string, unknown>): void;
error(message: string, context?: Record<string, unknown>): void;
};
export {};
//# sourceMappingURL=logger.d.ts.map