9 Bibliotecas de Node. js Logger Puede probar para un mejor registro

¿Luchas con la depuración de tu código?¿Está buscando soluciones de registro que puedan simplificar la depuración? Sigue leyendo para obtener más información.

El desarrollo de software pasa por varias fases: recopilación de requisitos, análisis, codificación, pruebas y mantenimiento. De todas estas fases, la fase de codificación/desarrollo requiere mucho tiempo y esfuerzo. Los ingenieros de software tratan con errores de sintaxis, errores lógicos y errores de tiempo de ejecución. Los errores de sintaxis se detectan en el momento de la compilación y ocurren porque el código no sigue las reglas del lenguaje de programación.

Por otro lado, un entorno de desarrollo integrado (IDE) no puede identificar errores lógicos y de tiempo de ejecución, y a menudo son difíciles de depurar y solucionar. La corrección de errores es un proceso que requiere mucho tiempo que requiere mucha depuración.

La depuración es el proceso en el que uno intenta comprender por qué el código escrito no funciona correctamente. Es fácil resolver el problema cuando conocemos el error y las líneas exactas en el código donde ocurre. Por lo tanto, el registro es muy útil para depurar el código.

Contents
  1. ¿Qué es el registro?
  2. Node. js Registro
  3. Winston también maneja excepciones y promesas no capturas. Proporciona características adicionales, como registro de tiempo de ejecución de consultas, registros de transmisión, etc. D. Primero, se debe instalar Winston. Luego se crea un objeto de configuración de Winston junto con un transporte de registro. El objeto Logger se crea usando createLogger () y el mensaje de registro se pasa a él.
  4. Nivel de registro
  5. Señal
  6. Al momento de escribir este artículo, Signale tiene más de 1 millón de descargas.
  7. Cabin. js.
  8. Npmlog es el tipo básico de registrador que utiliza npm. Algunos de los métodos de registro utilizados son nivel, registro, maxRecordSize, prefixStyle, header y stream. También es compatible con el registro codificado por colores. Los diferentes niveles de registro son: tonto, detallado, informativo, de advertencia, http y de error. A continuación se muestra un fragmento de código de ejemplo para usar el registro npm.
  9. Roarr es un registrador de Node. js que no requiere inicialización y produce datos estructurados. Tiene una CLI y variables de entorno. Es compatible con el navegador. Puede integrarse con Fastify, Fastify, Elastic Search, etc. Puede distinguir entre código de aplicación y código de dependencia. Cada mensaje de registro consta de contexto, mensaje, secuencia, hora y versión. Los diferentes niveles de registro incluyen seguimiento, depuración, información, advertencia, error e irrecuperable. Un fragmento de código de ejemplo que describe el inicio de sesión en Roarr es el siguiente:
  10. Algunos registradores admiten consolas de color y otras son adecuadas para manejar información confidencial. Los registros detallados y formateados ayudan más a los desarrolladores cuando intentan solucionar errores en su código. El formato JSON generalmente se prefiere para el registro porque registra datos como pares de valores clave, lo que lo hace fácil de usar.

¿Qué es el registro?

El registro es un método en el que se capturan los mensajes durante la ejecución del programa. Uno debe registrar solo aquellos mensajes que pueden ayudarlos en la depuración. Por lo tanto, es muy importante saber cuándo agregar declaraciones de registro al código. Además, es igualmente importante distinguir entre las declaraciones log. Existen diferentes niveles de registro, como información, advertencia, error, depuración y detallados. Las declaraciones de error y advertencia se utilizan para manejar excepciones.

Los datos que se devuelven de las funciones, los resultados del procesamiento de la matriz, los datos recuperados de las API, etc. son algunos ejemplos de datos que pueden registrarse utilizando operadores de información. Los registros de depuración y los registros detallados se utilizan para detallar los errores.

Un registro de depuración proporciona información sobre Stack Trace, parámetros de E/S, etc. «detallado» no es tan detallado como el registro de «depuración», pero proporciona una lista de todos los eventos que ocurrieron. Los registros se escriben en la consola, los archivos y la transmisión de salida. Las herramientas de gestión de registros se pueden utilizar para registro estructurado y formateado.

Node. js Registro

Junto con algunos transportes incorporados como HTTP, consola, archivo y transmisión, admite otros transportes como Cloud Watch y MongoDB. Se registra en diferentes niveles y formatos. Los niveles de registro indican la gravedad del problema.

Los diferentes niveles de registro se muestran a continuación:

El formato de salida de registro también se puede personalizar, filtrar y combinar. Los registros incluyen información de sellos de tiempo, etiquetas relacionadas con el registro, milisegundos transcurridos desde el registro anterior, etc.

Winston también maneja excepciones y promesas no capturas. Proporciona características adicionales, como registro de tiempo de ejecución de consultas, registros de transmisión, etc. D. Primero, se debe instalar Winston. Luego se crea un objeto de configuración de Winston junto con un transporte de registro. El objeto Logger se crea usando createLogger () y el mensaje de registro se pasa a él.

Nodo-bunyan

Bunyan se usa para registrar rápidamente en Node. js en formato JSON. También proporciona una herramienta CLI (interfaz de línea de comandos) para ver registros. Es liviano y admite varios entornos de tiempo de ejecución como Node. js, Browserify, Webpack y NW. JS. El formato JSON Logs se embellece aún más con una bonita función de impresión. Los registros tienen diferentes niveles, como fatales, errores, advertencia, información informativa, depuración y rastreo; Cada uno está asociado con un valor numérico.

Todos los niveles por encima del nivel establecido para una instancia están registrados. El hilo de Bunyan es donde se registra la salida. Los subcomponentes de una aplicación se pueden registrar utilizando log. child (). Todos los registradores de niños están vinculados a una aplicación de los padres específica. El tipo de secuencia puede ser archivo, archivo giratorio, datos sin procesar, etc. El código de muestra para definir una secuencia se muestra a continuación:

var bunyan = require (‘bunyan’); var log = bunyan. createlogger (

Bunyan también es compatible con el registro de DTRACE. Las sondas involucradas en el registro de DTRACE incluyen traza de registro, advertencia de registro, error de registro, información de registro, depuración del registro y registro irrecuperable. Bunyan usa serializadores para crear registros en formato JSON. Las funciones del serializador no generan excepciones y son protectores.

Nivel de registro

Loglevel se utiliza para iniciar sesión en aplicaciones JavaScript. También es uno de los mejores registradores de nodo. js, ya que es liviano y simple. Registra un nivel dado y usa un solo archivo sin dependencias para registrar. El nivel de registro predeterminado es «Advertencia». La salida del registro está bien formateada junto con números de línea. Los siguientes métodos se utilizan para registrar: traza, depuración, advertencia, error e información.

Son robustos a las fallas en cualquier entorno. getLogger () es un método utilizado para obtener un objeto Logger. Se puede combinar con otros complementos para extender sus capacidades. Algunos de los complementos incluyen Loglevel-Plugin-Prefix, Loglevel-Plugin-Remote, ServerSend y Depug. El complemento para agregar mensajes de prefijo al registro se muestra a continuación:

var originalFactory = log. methodFactory; log. methodfactory = function (methodName, logLevel, loggerName)

; log. setLevel (log. getLevel ());// Asegúrese de llamar al método SetLevel para aplicar el complemento

Las construcciones se ejecutan utilizando el comando NPM Run Dist, y las pruebas se pueden ejecutar utilizando el comando de prueba NPM. Loglevel admite los paquetes de webjar, balanza y atmósfera. Se lanza una nueva versión de Loglevel cada vez que se agregan nuevas funciones.

Señal

Signale consta de 19 registradores para aplicaciones JavaScript. Admite un registro mecanografiado y definido por el área. Consiste en temporizadores que ayudan a registrar la marca de tiempo, los datos y el nombre de archivo. Además de 19 registradores como espera, completo, fatal, favorito, información, etc., se pueden crear registros personalizados.

Los registros personalizados se crean definiendo un objeto JSON y campos con datos de registrador. También se pueden crear registradores interactivos. Cuando un registrador interactivo se establece en True, los nuevos valores de los registradores interactivos anulan los valores antiguos.

La mejor parte de Signale es su capacidad para filtrar información secreta o confidencial. Múltiples secretos se almacenan en una matriz. AddSecrets () y ClearSecrets () son funciones utilizadas para agregar y eliminar secretos de la matriz. BoostNote, DocZ, Ducha, Taskbook y Vant Use Signale para registrar. La sintaxis para llamar a la API de Signale es la siguiente:< name: "foo", streams: [ < stream: process.stderr, level: "debug" >, . ] >);

Signale. (Mensaje [, Mensaje] | MessageBj | ErrorObj)

Al momento de escribir este artículo, Signale tiene más de 1 millón de descargas.

Trazador

Tracer se usa para crear mensajes de registro detallados. Los mensajes de registro consisten en marcas de tiempo, nombres de archivos, números de línea y nombres de métodos. Se pueden instalar paquetes auxiliares para personalizar el formato de registro de salida. Los paquetes auxiliares se pueden instalar utilizando el siguiente comando.

NPM Instal l-DEV Tracer< var rawMethod = originalFactory(methodName, logLevel, loggerName); return function (message) < rawMethod("Newsflash: " + message); >; >Tracer admite archivo, transmisión y transporte mongodb. Admite la consola de color y las condiciones de filtrado de registro. Inicialmente, el trazador debe instalarse utilizando la instalación de NPM. En segundo lugar, se debe crear un objeto de registrador y se debe seleccionar un tipo de consola. Entonces se pueden especificar diferentes niveles o tipos de registro para el objeto para un mayor registro.

Los filtros personalizados se pueden crear definiendo funciones sincrónicas con la lógica de negocios presente en el cuerpo de funciones. Las microtemplataciones como TinyTim también se pueden usar para el registro del sistema.

Cabin. js.

La cabina se utiliza para el registro del lado del servidor y del lado del cliente de las aplicaciones Node. js. Se usa donde la información confidencial y crítica necesita ser enmascarada. Esto incluye números de tarjeta de crédito, encabezados de Basicauth, sales, contraseñas, tokens CSRF y números de cuenta bancaria. El fragmento de código a continuación muestra registro usando Cabin. js.

Const Cabin = require (‘Cabin’); Const Cabin = New Cabin (); Cabin. info (‘Hello World’); Cabin. Error (nuevo error (‘¡Oops!’));

Consiste en más de 1600 nombres de campo. También sigue el principio de trazar su propio Logger (BYOL). Esto lo hace compatible con varios otros registradores como Axe, Pino, Bunyan, Winston, etc. Reduce los costos de almacenamiento de disco con buffers de transmisión automáticos y búferes de cabina. Es multiplataforma y fácil de depurar.

El registro del lado del servidor requiere el middleware para el enrutamiento y el registro automático de salida. El registro del lado del navegador requiere consultas y scripts XHR. Utiliza AX, que muestra metadatos, es decir, datos de datos, traza de pila y otros errores. Show_stack y show_meta son variables booleanas establecidas en True o False para mostrar u ocultar traza de pila y metadatos.

npmlog

Npmlog es el tipo básico de registrador que utiliza npm. Algunos de los métodos de registro utilizados son nivel, registro, maxRecordSize, prefixStyle, header y stream. También es compatible con el registro codificado por colores. Los diferentes niveles de registro son: tonto, detallado, informativo, de advertencia, http y de error. A continuación se muestra un fragmento de código de ejemplo para usar el registro npm.

var log = require(‘npmlog’) // material adicional —————————+ // mensaje ———-+ |// prefijo —-+ |||// nivel -+ |||||// v v v v v log. info(‘para tu información’, ‘Tengo un gatito: %j’, myKittyCat)

Todos los mensajes se suprimen si se especifica "Infinito" como nivel de registro. Si se especifica "-Infinity" como nivel de registro, la opción para ver los mensajes de registro debe estar habilitada para ver los registros.

Los eventos y los objetos de mensaje se utilizan para el registro. Los mensajes de prefijo se envían cuando se utilizan eventos de prefijo. Los objetos de estilo se utilizan para dar formato a los registros, como agregar color al texto y al fondo, estilo de fuente como negrita, cursiva, subrayado, etc. Algunos paquetes de registro de npm son brolog, npmlogger, npmdate log, etc.

Rdo

Roarr es un registrador de Node. js que no requiere inicialización y produce datos estructurados. Tiene una CLI y variables de entorno. Es compatible con el navegador. Puede integrarse con Fastify, Fastify, Elastic Search, etc. Puede distinguir entre código de aplicación y código de dependencia. Cada mensaje de registro consta de contexto, mensaje, secuencia, hora y versión. Los diferentes niveles de registro incluyen seguimiento, depuración, información, advertencia, error e irrecuperable. Un fragmento de código de ejemplo que describe el inicio de sesión en Roarr es el siguiente:

importar

Además, se puede realizar la serialización de errores, lo que significa que se puede registrar una instancia con un error junto con el contexto del objeto. Algunas variables de entorno específicas de Node. js y Roarr son ROARR_LOG y ROARR_STREAM."aceptar" es una función que se usa con node. js para pasar propiedades de contexto a diferentes niveles. Las funciones secundarias también se pueden usar con middleware durante el registro.

Ultimas palabras

El registro es un método para realizar un seguimiento de varias actividades y eventos durante la ejecución del programa. El registro juega un papel vital en la depuración de códigos. También ayuda a aumentar la legibilidad del código. Node. js es un entorno de tiempo de ejecución JavaScript de código abierto. Algunos de los mejores registradores de nodo. js son Pino, Winston, Bunyan, Signale, Tracer, NPMLog, etc. Cada tipo de registrador tiene sus propias características como perfiles, filtros, transmisiones y transporte.

Algunos registradores admiten consolas de color y otras son adecuadas para manejar información confidencial. Los registros detallados y formateados ayudan más a los desarrolladores cuando intentan solucionar errores en su código. El formato JSON generalmente se prefiere para el registro porque registra datos como pares de valores clave, lo que lo hace fácil de usar.

Los registradores también se pueden integrar con otras aplicaciones y son compatibles con múltiples navegadores. Siempre es aconsejable investigar las necesidades y aplicaciones que está creando antes de elegir el tipo de registrador que desea usar.

También puede ver cómo instalar Node. js y NPM en Windows y MacOS.

toadmin. ru

< ROARR, >from 'roarr'; ROARR.write = (message) => < console.log(JSON.parse(message)); >;