winston - TypeError: winston.createLogger is not a constructor

winston - TypeError: winston.createLogger is not a constructor

winston.createLogger();显然不是构造函数。为什么会这样?

我看到有些人试图回滚到 winston@3.0.0,但这对我不起作用。我正在使用最新版本的温斯顿。下面是一些 logger.js:

const winston = require('winston');

const level = process.env.LOG_LEVEL || 'debug';


let logger = new winston.createLogger({
    transports: [
        new winston.transports.Console({
            level: level,
            timestamp: function() {
                return (new Date()).toISOString();
            }
        })
    ]
});

module.exports = logger;

我希望它创建记录器,但它抛出一个 TypeError 告诉我 createLogger 不是构造函数!

它只是 winston.createLogger 而不是 new winston.createLoggernew不需要关键字。

不要使用 new winston.Logger(opts) – 它已被删除以提高性能。请改用 winston.createLogger(opts)。

检查this以供参考