Registro en TypeScript: mejores prácticas y consejos para principiantes

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción: ¿Por qué es necesario el registro en TypeScript?



El registro es el proceso de registrar eventos que ocurren en una aplicación durante su ejecución. Para un desarrollador de TypeScript, esto no es solo un complemento, sino una herramienta esencial para la depuración, el monitoreo y el análisis del comportamiento del programa. Sin un registro correctamente configurado, corre el riesgo de pasar horas buscando errores que podrían haberse detectado en minutos.



En este artículo, analizaremos las mejores prácticas de registro para desarrolladores principiantes en TypeScript. Aprenderá cómo ir más allá del simple console.log, qué bibliotecas usar y cómo estructurar los registros para que sean realmente útiles.



1. Fundamentos del registro: de console.log a datos estructurados



Muchos principiantes comienzan con console.log('Algo salió mal'). Esto funciona, pero rápidamente se convierte en un caos. En el desarrollo moderno con TypeScript, se utiliza el registro estructurado.



Problemas del simple console.log

  • Falta de niveles: No puede filtrar errores de mensajes de depuración.
  • Sin contexto: No está claro de qué módulo o función proviene el mensaje.
  • Mala legibilidad: En entornos de producción, los registros a menudo son analizados por máquinas, no por personas.


Primer paso hacia el orden: niveles de registro

La mejor práctica es usar niveles estándar:

  • debug — para depuración durante el desarrollo.
  • info — para eventos normales (solicitud procesada, usuario autenticado).
  • warn — para problemas potenciales (falta de memoria, API obsoleta).
  • error — para fallos críticos.


Ejemplo de un enfoque simple pero ya útil:



// bad.tsconsole.log('Usuario inició sesión'); // ❌

// good.tsconst logger = { info: (message: string, meta?: Record<string, unknown>) => { console.log(JSON.stringify({ level: 'info', message, timestamp: new Date().toISOString(), ...meta })); }, error: (message: string, error?: Error) => { console.error(JSON.stringify({ level: 'error', message, stack: error?.stack, timestamp: new Date().toISOString() })); }};

logger.info('Usuario inició sesión', { userId: 123 }); // ✅


Aquí agregamos una marca de tiempo y un nivel. Esto ya se puede analizar. Pero escribir este código manualmente para cada proyecto no es eficiente: use bibliotecas listas.



2. Elección de una biblioteca de registro en TypeScript



Para TypeScript existen varias bibliotecas excelentes. Consideremos las dos más populares: Winston y tslog. Para principiantes, recomendamos tslog por su simplicidad y soporte completo de TypeScript.



tslog — la elección ideal para principiantes

Esta biblioteca está escrita en TypeScript y proporciona registros coloridos y atractivos en la consola. No requiere una configuración compleja.



// Instalación: npm install tslogimport { Logger } from 'tslog';

const logger = new Logger({ name: 'MyApp' });

logger.info('Aplicación iniciada');logger.warn('La memoria se está agotando');logger.error('Error de conexión a la BD', { retryCount: 3 });


Ventajas de tslog:

  • Soporte automático de TypeScript (tipos incluidos).
  • Salida atractiva en consola con colores.
  • Niveles de registro integrados.
  • Barrera de entrada mínima.


Winston — potente, pero más complejo

Winston es el estándar de la industria. Permite enviar registros a archivos, bases de datos, Elasticsearch. Sin embargo, para proyectos simples, su configuración puede ser excesiva.



// Instalación: npm install winstonimport winston from 'winston';

const logger = winston.createLogger({ level: 'info', format: winston.form

Blogs

Book Recommendations