使用VSCode来开发Node.js程序, 用到了winston这个库,用来输出日志,代码如下
var logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)(),
new winston Redis .Redis({
....
}).on('error', function(err) {
console.error('logger redis connection error', err);
})
]
});
发现VSCode的控制台中并无输出, 后来在 node_modules/winston/lib/winston/transports/console.js 中找到如下代码
if (this.stderrLevels[level]) { process .stderr.write( output + this.eol); } else { process. stdout .write(output + this.eol); }
原来winston直接将输出写到stdout。在VSCode的配置launch. json 中添加 “outputCapture”: “std” , 然后就可以看到输出了