@carlosneg/libreria-bitacoras

1.0.7 • Public • Published

@red-unica/libreria-bitacoras

Implementación de archivos logs para las aplicaciónes NodeJS de middleware para todo Red Única.

Instalación

npm install --save @red-unica/libreria-bitacoras express-async-errors

Configuración

Dentro del archivo pincipal de la aplicación Express

/* Libreria para poder cachar errores inesperados */
require("express-async-errors");

const express = require("express");
const app = express();
const bitacora = require("@red-unica/libreria-bitacoras");
bitacora.configurar(app);

...
...
...

/* Esta función se encarga de interceptar cualquier error 'inesperado' que podría tirar el servidor */
app.use(function (err, req, res, next) {
    bitacora.escribir('error', err.message);
    next(err); // Esto se tiene que cambiar para mandar una respuesta generica de error al cliente
});

const server = app.listen(process.env.EXPRESS_APP_SERVER_PORT, () => {
    bitacora.escribir('info', `App ms-example levantada en el puerto ${process.env.EXPRESS_APP_SERVER_PORT}!`);
});
  

/* Proceso para detener la applicacion correctamente */
const apagar = async () => {
    bitacora.escribir('info', 'Apagando aplicacion...');
    await server.close();
    await bitacora.apagar();
    process.exit(0);
};

process.on('exit', apagar);
process.on('SIGTERM', apagar);
process.on('SIGINT', apagar);

Uso

Dentro de cualquier JS del proyecto

const bitacora = require("@red-unica/libreria-bitacoras");

bitacora.escribir('trace','Mensaje de tipo trace');
bitacora.escribir('debug','Mensaje de tipo debug');
bitacora.escribir('info','Mensaje de tipo info');
bitacora.escribir('warn','Mensaje de tipo warn');
bitacora.escribir('error','Mensaje de tipo error');
bitacora.escribir('fatal','Mensaje de tipo fatal');

Para mandar a imprimir tiempo de ejecución (El calculo del tiempo se debe realizar por uno mismo):

const tiempoInicial = new Date();
/* Ejecución de proceso X */
const tiempoFinal = new Date();
const tiempoEjecucion = tiempoFinal.getTime() - tiempoInicial.getTime();
bitacora.escribirTiempoEjecucion('info','Fin del proceso X',tiempoEjecucion);

Variables de entorno

Para el correcto funcionamiento de la librería es necesario definir las siguientes variables de entorno:

Variable Descripción Ejemplo Valor por default
EXPRESS_APP_ARCHIVO_BITACORA Nombre y ruta del archivo log a generar /var/log/ficha-cliente/ficha-cliente.log server.log

License

ISC ©

Dependencies (5)

Dev Dependencies (17)

Package Sidebar

Install

npm i @carlosneg/libreria-bitacoras

Weekly Downloads

0

Version

1.0.7

License

ISC

Unpacked Size

103 kB

Total Files

3

Last publish

Collaborators

  • carlosneg