/** * Logger Module * * Provides a logging utility with configurable log levels, * file-based logging with rotation, and structured log format. */ /** * Log levels ordered by severity (lower = more severe) */ export declare enum LogLevel { ERROR = 0, WARN = 1, INFO = 2, DEBUG = 3 } /** * Logger interface defining the logging methods */ export interface Logger { error(component: string, message: string, meta?: object): void; warn(component: string, message: string, meta?: object): void; info(component: string, message: string, meta?: object): void; debug(component: string, message: string, meta?: object): void; setLevel(level: LogLevel): void; getLevel(): LogLevel; /** * Enable or disable console output while still writing to log files. * Used by CLI to suppress verbose logs during normal operation. * @param silent - True to suppress console output, false to enable it */ setSilentConsole(silent: boolean): void; } /** * Configuration options for the logger */ export interface LoggerConfig { /** Log directory path (defaults to console if not provided) */ logDir?: string; /** Maximum log file size in bytes before rotation (default: 10MB) */ maxFileSize?: number; /** Maximum number of rotated log files to keep (default: 3) */ maxFiles?: number; /** Initial log level (default: INFO) */ level?: LogLevel; /** Log file name (default: search-mcp.log) */ fileName?: string; } /** * Create a new logger instance with the specified index path * @param indexPath Path to the index directory (logs stored in /logs/) * @param config Additional configuration options */ export declare function createLogger(indexPath: string, config?: Omit): Logger; /** * Get the existing logger instance, or create a console-only logger if none exists * Respects DEBUG, SEARCH_MCP_DEBUG, LOG_LEVEL, and SEARCH_MCP_LOG_LEVEL env vars */ export declare function getLogger(): Logger; /** * Reset the logger instance (mainly for testing) */ export declare function resetLogger(): void; /** * Get the default log directory for a given index hash * Uses ~/.mcp/search/indexes//logs/ */ export declare function getDefaultLogDir(indexHash: string): string; /** * Get the global log directory for server-level logs * Uses ~/.mcp/search/logs/ */ export declare function getGlobalLogDir(): string; /** * Initialize the global logger with file-based logging * Should be called at server startup before any logging occurs */ export declare function initGlobalLogger(): Logger; /** * Parse a log level string to LogLevel enum */ export declare function parseLogLevel(level: string): LogLevel; //# sourceMappingURL=logger.d.ts.map