温斯顿logger.info不是一个函数

我已经build立了Winston的传输到MySQL和控制台,并把它放在一个名为logger的模块。 像这样…

 // modules/logger.js /* require statements */ exports.logger = new (winston.Logger)({ transports: [ new winstonMysql(winstonMysqlConfig), new (winston.transports.Console) ] }); 

然后在/modules

 // modules/index.js /* grab other modules */ exports.logger = require('./logger.js'); 

当我做console.log(modules.logger) ,我得到这个

 { logger: EventEmitter { ... error: [Function], warn: [Function], info: [Function], verbose: [Function], debug: [Function], silly: [Function], ... } } 

但是当我调用modules.logger.info()它会引发modules.logger.info is not a function错误。 怎么了?

您不能正确导出modules.js的logging器。

 exports.logger = require('./logger.js').logger;