Winston: Winston mutando los params

Creado en 22 ene. 2019  ·  3Comentarios  ·  Fuente: winstonjs/winston

Háblenos de su entorno:

  • _ winston versión? _

    • [] winston@3

  • _ node -v salidas: v10.13.0
  • _Sistema operativo Linux
  • _Idioma ES6

¿Cuál es el problema?

Siempre que llamo a logger.info(err) o cualquier función del registrador, agrega la propiedad level en los parámetros.

Ejemplo

const winston = require('winston');

const logger = winston.createLogger({
    transports: [
        new winston.transports.Console(),
    ]
});
const err = new Error('Error');
logger.info(err);
console.log('Console: ', err);
{"level":"info"}
Console:  { Error: [object Object]
    at Object.<anonymous> (/home/ankit/Desktop/play/winston.js:10:14)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
    at Function.Module._load (internal/modules/cjs/loader.js:529:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
    at startup (internal/bootstrap/node.js:285:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)
  level: 'info',

¿Por qué winston está mutando el objeto err agregando la propiedad level en el objeto err?

Todos 3 comentarios

Ver https://github.com/winstonjs/winston/issues/1549

tl; dr -> razones de rendimiento, funciona según lo diseñado.

Debería haber una forma de deshabilitar la modificación de los parámetros.

Siempre puede hacerlo usted mismo usando {... error}? ..

¿Fue útil esta página
0 / 5 - 0 calificaciones