@landsoftco/customlogger v1.0.2
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"}