2016-04-05 6 views
1

Ich versuche Log-Level-Änderung zur Laufzeit zu erreichen. Ich habe https://github.com/yannvr/Winston-dynamic-loglevel/blob/master/test verfolgt. Während des Aufrufs der Update-Funktion ändert sich die tatsächliche Transport-Level-Einstellung nicht. Wenn ich zum Beispiel auf die Informationsebene aktualisiert habe, wird das mit der Information verbundene Protokoll nicht in der Datei gedruckt. es scheint, funktioniert nicht, was es sagt, gibt es eine andere Möglichkeit, es zu erreichen.Ich bin über die Verwendung von SetLevel von Winston zur Verfügung gestellt, aber ich weiß nicht, wie man es von außerhalb der Log-Level zur Laufzeit zu ändern?dynamisch ändern Log-Level in Winston

Antwort

0

Einfach, wenn Sie möchten, dass Sie die Konsole als Transport für Ihr Protokoll verwenden, können Sie als 'debug' Ebene beginnen und später zu 'info' wechseln.

'use strict'; 

const winston = require('winston'); 

const logger = new (winston.Logger)({ 
    transports: [ 
    new (winston.transports.Console)({ 
     level: 'debug' 
    }), 
    ] 
}); 

logger.debug('DEBUG'); 
logger.transports.console.level = 'info'; 
logger.debug('DEBUG ?'); // IGNORED !