Winston: Winston mutiert die Parameter

Erstellt am 22. Jan. 2019  ·  3Kommentare  ·  Quelle: winstonjs/winston

Bitte erzählen Sie uns von Ihrer Umgebung:

  • _ winston Version?_

    • [ ] winston@3

  • _ node -v Ausgaben: v10.13.0
  • _Betriebssystem Linux
  • _Sprache ES6

Was ist das Problem?

Immer wenn ich logger.info(err) oder eine beliebige Logger-Funktion aufrufe, wird die Eigenschaft level in den Parametern hinzugefügt.

Beispiel

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',

Warum mutiert Winston das err-Objekt, indem es die level Eigenschaft im err-Objekt hinzufügt?

Alle 3 Kommentare

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

tl;dr -> Performance-Gründe, funktioniert wie geplant.

Es sollte eine Möglichkeit geben, die Parameteränderung zu deaktivieren.

Sie können dies jederzeit selbst tun, indem Sie {...error}?. verwenden.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen