0.0.5 • Published 3 years ago

loggerto v0.0.5

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

LoggerTo

Este es un módulo genérico que permite disponer de logs de diferentes niveles dentro de la consola de desarrollo. Se utiliza principalmente el objeto console de javascript y se implementa como wrapper para los distintos niveles. Ademas de eso se puede implementar su trazabilidad haciendo uso del contexto de http con express.

NivelidentificadorDetalle
LOG1000Human understand log for a developer.
DEBUG1010Designates fine-grained informational events that are most useful to debug an application.
INFO1020Designates informational messages that highlight the progress of the application at coarse-grained level.
WARN1030Designates potentially harmful situations.
ERROR1040Designates error events that might still allow the application to continue running.
TRACE1050Designates finer-grained informational events than the DEBUG.

ref: https://www.tutorialspoint.com/log4j/log4j_logging_levels.htm

Instalación

Para su integración dentro de cualquier desarrollo use npm para instalar.

console@user:~$ npm install loggerto --save

Configuración

Para poder hacer uso de algunas funcionalidades presentes dentro de la librería puede configurarlo de la siguiente forma

Para cambiar el formato del log entre json o string, puede usar la variable de entorno JSON_LOG

//Por default la librería genera log con formato string
export JSON_LOG= true

Para mostrar la versión de la api en la que está trabajando puede usar la variable ACTIVE_VERSION

export ACTIVE_VERSION= true

Si quiere utilizar la trazabilidad del log, se puede usar la librería de express http context dentro del proyecto, de la siguiente forma

//Ej. de un endpoint con usando el framework express agregando un parámetro dentro del header.
const traceId = (req.headers['x-correlation-id'])?req.get('x-correlation-id'):null;

//Si existe el 'x-correlation-id', se setea el valor dentro del contexto.
httpContext.set('traceId',traceId);

Uso

//Importar el modulo
const logger = require("loggerto");

//Primitivas
logger.log('ESTE ES UN LOG DE PRUEBA');
/*{"level":"LOG","code_level":1000,"time":"2021-10-04 19:56:20","message":"ESTE ES UN LOG DE PRUEBA",
"logger":"path: /test.js, on:test()"}*/

//Objetos
logger.debug({message: "Este es un debug de prueba"});
/*{"level":"DEBUG","code_level":1010,"time":"2021-10-04 19:56:20","message":"Este es un debug de prueba",
"logger":"path: /test.js, on:test()"}*/

logger.error({message:'mensaje de error', details: {
    type: "not-found",
    endpoint:"xy/xsxx/xxxx"
}});
/*{"level":"ERROR","code_level":1040,"time":"2021-10-04 19:56:20","message":"mensaje de error",
"details":{"type":"not-found","endpoint":"xy/xsxx/xxxx"},"logger":"path: /test.js, on:test()"}*/

//si se usa el flag JSON_LOG se veria el resultado del log en la consola de la siguiente forma:
{
  level: 'ERROR',
  code_level: 1040,
  time: '2021-10-04 20:13:43',
  message: 'mensaje de error',
  details: { type: 'not-found', endpoint: 'xy/xsxx/xxxx' },
  logger: 'path: /test.js, on:test()'
}
0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago