Mejores prácticas de registro
Registra campos accionables; muestrea la depuración en producción con moderación. Estas reglas mantienen los registros de Node.js buscables, conformes y económicos a escala.
Busca en todas las páginas de la documentación
Registra campos accionables; muestrea la depuración en producción con moderación. Estas reglas mantienen los registros de Node.js buscables, conformes y económicos a escala.
requestId, tenantId) en los microservicios en un documento compartido.event o action estable para registros de negocio. order_created, no un vago done.info para el ciclo de vida de la solicitud y eventos de negocio. error para fallos que requieren acción.debug desactivado o muestreado en producción. LOG_LEVEL=info por defecto; muestreo de cola para investigaciones.console.log en src/ a través de ESLint. Excepción solo para puntos de entrada CLI.x-request-id en el borde. Devuelve el mismo ID en el encabezado de respuesta.requestId en cada línea. Sin paso manual en capas profundas sin ALS.x-request-id en HTTP saliente y trabajos en cola. Correlación de extremo a extremo./health o registra en depuración.userId/tenantId después de la autenticación en el registrador secundario. No antes de que la autenticación sea exitosa.redact de Pino para autorización, cookies, contraseñas, PAN. Consulta pino.req y user. Registra IDs, no correos electrónicos.req.body completo o error.response.data de Axios por defecto.pino-pretty en producción. Solo JSON; el transporte bonito bloquea el bucle de eventos.base: { service, version }. Metadatos de flota buscables.trace_id con OpenTelemetry cuando esté habilitado. Correlaciona registros y trazas en APM.fatal alerta; error tickets; warn panel de control.LOGGING.md para nuevos servicios.Mínimo: level, time, msg, service, requestId (HTTP), event o clave de acción equivalente.
Objeto err completo en los registros; mensaje genérico en la respuesta HTTP. Nunca al revés.
Envuelve Pino para código nuevo; migra primero las rutas calientes. Fastify/NestJS favorecen Pino de forma nativa.
No en k8s - solo stdout. La plataforma recopila e indexa.
Pino es barato en relación con el trabajo HTTP. La explosión de costos proviene de la verbosidad de depuración y las cargas útiles enormes.
Muestra la depuración del 1-5% en producción si es necesario. Nunca muestrees errores o eventos de pago.
Siempre incluye tenantId en el registrador secundario después de la resolución del inquilino. Crítico para consultas de soporte.
Flujo separado o campo audit: true con mayor retención y RBAC de acceso más estricto.
Versiones de la pila: Esta página fue escrita para Node.js 24.18.0 (LTS activa), npm 10+, TypeScript 5.6+, Express 5, Fastify 5 y NestJS 11.
Revisado por Chris St. John·Última actualización: 16 jul 2026