Logger
NocoBase le ofrece un sistema de registro (logger) de alto rendimiento basado en pino. En cualquier lugar donde tenga acceso al context, puede obtener una instancia del logger a través de ctx.logger para registrar los eventos clave durante la ejecución de sus plugins o del sistema.
Uso Básico
Estos métodos corresponden a diferentes niveles de registro (de mayor a menor prioridad):
Formato del Registro
Cada salida de registro tiene un formato JSON estructurado y, por defecto, contiene los siguientes campos:
Salida de ejemplo:
Vinculación de Contexto
ctx.logger inyecta automáticamente información de contexto, como el plugin actual, el módulo o la fuente de la solicitud, lo que permite rastrear el origen de los registros con mayor precisión.
Salida de ejemplo (con contexto):
Logger Personalizado
Puede crear instancias de logger personalizadas en sus plugins, heredando o extendiendo las configuraciones predeterminadas:
Los loggers hijos heredan la configuración del logger principal y adjuntan automáticamente el contexto.
Jerarquía de Niveles de Registro
Los niveles de registro de Pino siguen una definición numérica de mayor a menor, donde los números más pequeños indican una prioridad más baja.
A continuación, se presenta la tabla completa de la jerarquía de niveles de registro:
Pino solo emitirá registros que sean mayores o iguales al level configurado actualmente. Por ejemplo, si el nivel de registro es info, los registros de debug y trace serán ignorados.
Mejores Prácticas en el Desarrollo de Plugins
-
Utilice el Logger de Contexto
Utilicectx.loggeren el contexto de sus plugins, modelos o aplicaciones para que la información de origen se adjunte automáticamente. -
Distinga los Niveles de Registro
- Utilice
errorpara registrar excepciones de negocio. - Utilice
infopara registrar cambios de estado. - Utilice
debugpara registrar información de depuración durante el desarrollo.
- Utilice
-
Evite el Registro Excesivo
Especialmente en los nivelesdebugytrace, se recomienda activarlos únicamente en entornos de desarrollo. -
Utilice Datos Estructurados
Pase parámetros de objeto en lugar de concatenar cadenas de texto; esto facilita el análisis y filtrado de los registros.
Siguiendo estas prácticas, los desarrolladores pueden rastrear la ejecución de los plugins de manera más eficiente, solucionar problemas y mantener un sistema de registro estructurado y extensible.

