Winston: 温斯顿改变参数

创建于 2019-01-22  ·  3评论  ·  资料来源: winstonjs/winston

请告诉我们您的环境:

  • _ winston版本?_

    • [ ] winston@3

  • _ node -v输出:v10.13.0
  • _操作系统Linux
  • _语言 ES6

问题是什么?

每当我调用logger.info(err)或任何记录器函数时,它都会在参数中添加level属性。

例子

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

为什么 winston 通过在 err 对象中添加level属性来改变 err 对象?

所有3条评论

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

tl;dr -> 性能原因,按设计工作。

应该有办法禁用参数修改。

你总是可以通过使用 {...error}?..

此页面是否有帮助?
0 / 5 - 0 等级