UNPKG

@ithena-one/mcp-governance

Version:

Governance layer (Identity, RBAC, Credentials, Audit, Logging, Tracing) for Model Context Protocol (MCP) servers.

29 lines (28 loc) 1.25 kB
/** Log severity levels. */ export type LogLevel = "debug" | "info" | "warn" | "error"; /** Context object for structured logging. */ export type LogContext = Record<string, any>; /** * Interface for a structured logger used within the SDK and passed to handlers. */ export interface Logger { /** Optional initialization logic (e.g., setting up remote transport). */ initialize?(): Promise<void>; /** Logs a debug message. */ debug(message: string, context?: LogContext): void; /** Logs an informational message. */ info(message: string, context?: LogContext): void; /** Logs a warning message. */ warn(message: string, context?: LogContext): void; /** Logs an error message, optionally including an Error object. */ error(message: string, error?: Error | unknown, context?: LogContext): void; /** * Optional: Creates a child logger. Required for request scoping. * If not provided, the same logger instance will be used everywhere. * @param bindings - Context key-value pairs to add to the child logger. * @returns A new Logger instance. */ child?: (bindings: LogContext) => Logger; /** Optional cleanup logic (e.g., flushing buffers). */ shutdown?(): Promise<void>; }