我正在使用Winston在node js应用程序中应用logger,但获取winston.Logger不是构造函数。我正在关注下面的链接
http://thisdavej.com/using-winston-a-versatile-logging-library-for-node-js/
答案 0 :(得分:0)
尝试类似下面的代码,它应该可以工作(由于您在较新的版本中使用了较旧的代码,因此可能会发生):
const winston = require('winston');
require('winston-daily-rotate-file');
function getLogger(module) {
const transport = new winston.transports.DailyRotateFile({
filename: './logs/log',
datePattern: 'yyyy-MM-dd.',
prepend: true,
level: process.env.ENV === 'development' ? 'silly' : 'error',
});
// const logger = new (winston.Logger)({
// transports: [
// transport,
// ],
// });
const logger = winston.createLogger({
transports: [transport],
});
return logger;
}
如果您看到注释的代码,则new
会产生一个错误,即它不是构造函数
答案 1 :(得分:0)
由于winston.Logger
已更改为winston.createLogger
,因此您收到此错误。更新代码以使用.createLogger
应该可以解决您的问题。