@landsoftco/customlogger
v1.0.2
Published
Librería para escribir logs en Wingo con estructura propia
Downloads
137
Readme
Bienvenido a Custom Logger!
Librería para escribir Logs customizado.
Instalar e importar
Para realizar la importación de la librería se debe hacer configurando un alias al momento de instalar, ya que la librería al pertenecer a una organización, tiene en su nombre un scope, en este caso @landsoftco, y al momento de importar la librería con este scope, Typescript cree que estamos importando un paquete Types y no un paquete normal.
Para corregir el problema, instalamos generando un alias de la siguiente manera:
npm i customlogger@npm:@landsoftco/customlogger
Una vez instalada, se debe importar y configurar de la siguiente manera.
import Logger from '@landsoftco/customlogger';
//en caso de que this se encuentre indefinido. Instanciamos fuera de la clase
const logger = new Logger(isPdn);
//en caso de que tengamos acceso a this. Definimos dentro de la clase, e instanciamos en el constructor
private logger: Logger; //definicion
this.logger = new Logger(isPdn); //instancia
isPdn es la variable de tipo Boolean que indica si estamos es un ambiente productivo o no, para determinar el nivel de log que se imprime. Si está no es enviada, por defecto se imprime el nivel info
Funciones que contiene
this.logger.info('Mi mensaje informativo') -> 2022-09-04 13:19:01 - info - [indexTest.js]: info
this.logger.error('Mi mensaje de error') -> 2022-09-04 13:19:01 - error - [indexTest.js]: error
this.logger.debug('Mi mensaje de debug') -> 2022-09-04 13:19:01 - warn - [indexTest.js]: warn
this.logger.warn('Mi mensaje de warn') -> 2022-09-04 13:19:01 - debug - [indexTest.js]: debug
En caso que se requiera enviar en el log un objeto, para evitar que en la consola se imprima [Object, Object] se debe hacer de la siguiente manera utilizando la función JSON.stringify().
this.logger.info(`Mi mensaje con objeto ${JSON.stringify(myObjeto)}`) -> 2022-09-04 13:40:13 - info - [indexTest.js]: Mi mensaje con objeto {"value":"hola","name":"mundo"}