/** * Sistema de logging elegante para la librería @finity.org/ccl * Soporta diferentes niveles de log y formateo con colores */ export declare enum LogLevel { DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3, SUCCESS = 4 } export interface LogEntry { timestamp: Date; level: LogLevel; module: string; message: string; data?: any; } export declare class Logger { private static globalLevel; private static logs; private static maxLogs; private static logFilePath; private static fileLoggingEnabled; private static silentMode; private static benchmarkMode; private static suppressedModules; private static testMode; private static contextFilters; private module; constructor(module: string); /** * Configurar el nivel global de logging */ static setLevel(level: LogLevel): void; /** * Habilitar modo silencioso (solo logs críticos) */ static setSilentMode(enabled: boolean): void; /** * Verificar si está en modo silencioso */ static isSilentMode(): boolean; /** * Habilitar modo benchmark (suprime logs de validación preventiva) */ static setBenchmarkMode(enabled: boolean): void; /** * Verificar si está en modo benchmark */ static isBenchmarkMode(): boolean; /** * Suprimir logs de un módulo específico */ static suppressModule(module: string): void; /** * Reactivar logs de un módulo específico */ static unsuppressModule(module: string): void; static setTestMode(enabled: boolean): void; static isTestMode(): boolean; static setContextFilter(context: string, minLevel: LogLevel): void; static removeContextFilter(context: string): void; /** * Obtener todos los logs almacenados */ static getLogs(): LogEntry[]; /** * Limpiar todos los logs */ static clearLogs(): void; /** * Exportar logs como JSON */ static exportLogs(): string; /** * Configurar la ruta del archivo de log */ static setLogFile(filePath: string): void; /** * Habilitar o deshabilitar el logging a archivo */ static setFileLogging(enabled: boolean): void; /** * Limpiar el archivo de log */ static clearLogFile(): void; /** * Log de debug (desarrollo) */ debug(message: string, data?: any): void; /** * Log informativo */ info(message: string, data?: any): void; /** * Log de advertencia */ warn(message: string, data?: any): void; /** * Log de error */ error(message: string, data?: any): void; /** * Log de éxito */ success(message: string, data?: any): void; /** * Método principal de logging */ private log; /** * Formatear y mostrar log en consola */ private consoleLog; /** * Escribir log al archivo */ private writeToFile; /** * Crear un timer para medir duración de operaciones */ startTimer(label: string): () => void; /** * Log de progreso con porcentaje */ progress(message: string, current: number, total: number): void; /** * Crear barra de progreso visual */ private createProgressBar; /** * Log de tabla para datos estructurados */ table(data: Record[]): void; /** * Log de objeto con formato JSON */ json(label: string, obj: any): void; } //# sourceMappingURL=logger.d.ts.map