loggerto
v0.0.5
Published
Allows you to track the registry
Readme
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.
| Nivel | identificador | Detalle | |---------- |-----------------|-----------------| | LOG | 1000 | Human understand log for a developer. | | DEBUG | 1010 | Designates fine-grained informational events that are most useful to debug an application. | | INFO | 1020 | Designates informational messages that highlight the progress of the application at coarse-grained level. | | WARN | 1030 | Designates potentially harmful situations. | | ERROR | 1040 | Designates error events that might still allow the application to continue running. | | TRACE | 1050 | Designates 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 --saveConfiguració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= truePara mostrar la versión de la api en la que está trabajando puede usar la variable ACTIVE_VERSION
export ACTIVE_VERSION= trueSi 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()'
}