2016-09-22 2 views
2

Итак, я пытаюсь подключить консоль в качестве транспорта для winston logger. Ниже мой код.Присоединение консоли к ведению журнала 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

Большое спасибо. Это помогло. –