Winston Logger在VSCode控制檯無輸出的解決辦法

Winston Logger在VSCode控制檯無輸出的解決辦法

使用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"

, 然後就可以看到輸出了