2016-09-22 145 views
2

因此,我試圖將控制檯作爲傳輸器連接到winston記錄器。以下是我的代碼。將控制檯傳輸連接到Winston日誌記錄

winston.add(winston.transports.Console, { 
    level: 'info', 
    colorize: true, 
    timestamp: true, 
    json: false, 
    stringify: false, 
    prettyPrint: true, 
    depth: 5, 
    humanReadableUnhandledException: true, 
    showLevel: true, 
    stderrLevels: ['error', 'debug'] 
}); 

但是,當我啓動應用程序,我得到以下錯誤。

C:\Users\xxxxx\yyyyy\javascript\MyApp\node_modules\winston\lib\winston\logger.js:481 
    throw new Error('Transport already attached: ' + instance.name + ", assign a different name"); 
    ^

Error: Transport already attached: console, assign a different name 
    at Logger.add (C:\Users\xxxxx\yyyyy\javascript\MyApp\node_modules\winston\lib\winston\logger.js:481:11) 
    at Object.winston.(anonymous function) [as add] (C:\Users\xxxxx\yyyyy\javascript\MyApp\node_modules\winston\lib\winston.js:87:34) 
    at Object.<anonymous> (C:\Users\xxxxx\yyyyy\javascript\MyApp\app.js:36:9) 
    at Module._compile (module.js:409:26) 
    at Object.Module._extensions..js (module.js:416:10) 
    at Module.load (module.js:343:32) 
    at Function.Module._load (module.js:300:12) 
    at Module.require (module.js:353:17) 
    at require (internal/module.js:12:17) 
    at Object.<anonymous> (C:\Users\xxxxx\yyyyy\javascript\MyApp\bin\www:7:11) 

現在,我明白我的控制檯已經默認連接到記錄器。但是我另外寫了這個,因爲我想根據我的喜好更改配置。

任何人都可以建議我怎麼做到這一點?爲了改變已經連接的傳輸的配置,我是否必須添加其他一些語法,或者是否有任何解決此問題的方法,使用的是我正在使用的相同代碼?

請建議。

回答

4

如果你已經有連接同一類型的交通工具,你需要命名新的運輸:

winston.add(winston.transports.Console, { 
    name : 'UNIQUE_NAME_HERE', 
    level: 'info', 
    ... 
}); 

記錄在案here

+0

非常感謝。這有幫助。 –

相關問題