feat: integrate pino logger for improved error handling and logging consistency

This commit is contained in:
2025-10-02 20:11:33 -05:00
parent 95d9fdb555
commit 630d58e8be
31 changed files with 293 additions and 102 deletions

View File

@@ -1,3 +1,4 @@
import logger from "../lib/logger";
// Monitor ligero de memoria y event loop.
// Se activa si defines MEMORY_LOG_INTERVAL_SECONDS.
import { monitorEventLoopDelay } from 'node:perf_hooks';
@@ -41,7 +42,7 @@ export function startMemoryMonitor(opts: MemoryMonitorOptions) {
}
}
console.log(`[MEM] rss=${rss} heapUsed=${heapUsed} heapTotal=${heapTotal} ext=${external} evLoopDelay=${elDelay.toFixed(2)}ms${warn}`);
logger.info(`[MEM] rss=${rss} heapUsed=${heapUsed} heapTotal=${heapTotal} ext=${external} evLoopDelay=${elDelay.toFixed(2)}ms${warn}`);
// Resetear métricas de event loop delay para la siguiente ventana
h.reset();

View File

@@ -1,3 +1,4 @@
import logger from "../lib/logger";
// Sistema adicional de optimización de memoria para complementar el monitor existente
export interface MemoryOptimizerOptions {
@@ -21,7 +22,7 @@ export class MemoryOptimizer {
start() {
// Solo habilitar si está disponible el GC manual
if (typeof global.gc !== 'function') {
console.warn('⚠️ Manual GC no disponible. Inicia con --expose-gc para habilitar optimizaciones adicionales.');
logger.warn('⚠️ Manual GC no disponible. Inicia con --expose-gc para habilitar optimizaciones adicionales.');
return;
}
@@ -34,7 +35,7 @@ export class MemoryOptimizer {
this.gcTimer.unref(); // No bloquear el cierre del proceso
}
console.log(`✅ Memory Optimizer iniciado - GC cada ${this.options.forceGCInterval}min, umbral: ${this.options.maxHeapUsageBeforeGC}MB`);
logger.info(`✅ Memory Optimizer iniciado - GC cada ${this.options.forceGCInterval}min, umbral: ${this.options.maxHeapUsageBeforeGC}MB`);
}
stop() {
@@ -69,7 +70,7 @@ export class MemoryOptimizer {
const duration = Date.now() - startTime;
const heapFreed = (before.heapUsed - after.heapUsed) / 1024 / 1024;
console.log(`🗑️ GC ${reason}: liberó ${heapFreed.toFixed(1)}MB en ${duration}ms`);
logger.info(`🗑️ GC ${reason}: liberó ${heapFreed.toFixed(1)}MB en ${duration}ms`);
}
}
}