/** * Structured logging system */ import type { LogEntry, LogLevel } from '../types/logger.types.js'; import type { CleanupScheduler } from './cleanup-scheduler.js'; export type { LogEntry, LogLevel }; export declare class Logger { maxDailyFileSizeBytes: number; private buffer; private bufferFlushThreshold; private level; private logFile?; constructor(level?: LogLevel, logFile?: string); /** * Log debug message */ debug(message: string, data?: Record): void; /** * Log info message */ info(message: string, data?: Record): void; /** * Log warning message */ warn(message: string, data?: Record): void; /** * Log error message */ error(message: string, error?: Error, data?: Record): void; /** * Always log (bypasses MCP suppression for critical messages) * Use this for flow-critical messages that must always be visible */ always(message: string, data?: Record): void; /** * Core logging method */ private log; /** * Check if should log at this level */ private shouldLog; /** * Check if should use verbose console output (full structured logs) * Returns true only in verbose mode - otherwise use ProcessingFeedback */ private shouldLogToConsole; /** * Log to console with colors * In default mode, messages are shown via ProcessingFeedback with status indicators * In verbose mode, full structured logs are shown */ private logToConsole; /** * Show log entry via ProcessingFeedback with status indicators */ private showViaProcessingFeedback; /** * Check if daily file needs rotation and rotate if necessary */ private checkAndRotateFile; /** * Rotate the current log file by renaming it with a sequence number */ private rotateLogFile; /** * Log to file */ private logToFile; /** * Flush buffer to file */ flush(): Promise; /** * Set log level */ setLevel(level: LogLevel): void; /** * Get current log level */ getLevel(): LogLevel; /** * Get buffer */ getBuffer(): LogEntry[]; /** * Get buffer size */ getBufferSize(): number; /** * Clear buffer */ clearBuffer(): void; /** * Set buffer flush threshold */ setBufferFlushThreshold(threshold: number): void; /** * Get buffer flush threshold */ getBufferFlushThreshold(): number; } export declare function getLogger(): Logger; /** * Create proxy to suppress debug/info logs in MCP mode */ export declare function setLogger(logger: Logger): void; /** * Get the cleanup scheduler instance * Note: Scheduler is now initialized via cleanup/coordinator.ts */ export declare function getCleanupScheduler(): CleanupScheduler | null; //# sourceMappingURL=logger.d.ts.map