/** * Structured logging with Pino * * Provides a logger factory with configurable log levels, structured log format, * and log redaction for sensitive data. */ import type { LogLevel } from '../types/index.js'; /** * Structured log context */ export interface LogContext { codebaseName?: string; filePath?: string; chunkCount?: number; durationMs?: number; [key: string]: unknown; } /** * Error information for logging */ export interface LogError { message: string; stack?: string; code?: string; } /** * Logger interface with component-specific context */ export interface Logger { debug(message: string, context?: LogContext): void; info(message: string, context?: LogContext): void; warn(message: string, context?: LogContext): void; error(message: string, error?: Error | LogError, context?: LogContext): void; child(component: string, operation?: string): Logger; } /** * Create a root logger with the specified log level * * @param level - Log level (debug, info, warn, error) * @param pretty - Enable pretty printing for development (default: false) * @returns Root logger instance */ export declare function createLogger(level?: LogLevel, pretty?: boolean): Logger; /** * Create a child logger for a specific component * * @param rootLogger - Root logger instance * @param component - Component name (e.g., "IngestionService", "MCPServer") * @param operation - Optional operation name (e.g., "parseFile", "search") * @returns Child logger with component context */ export declare function createChildLogger(rootLogger: Logger, component: string, operation?: string): Logger; //# sourceMappingURL=logger.d.ts.map