使用VSCode來開發Node。js程式, 用到了winston這個庫,用來輸出日誌,程式碼如下
var logger = new (winston。Logger)({ transports: [ new (winston。transports。Console)(), new winstonRedis。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"
, 然後就可以看到輸出了