2013-12-18 19 views

Antwort

9

Sie können Winston-Protokolle stündlich drehen. Sie müssen die Stunde (HH) im Datumsmuster angeben.

Bitte überprüfen Sie die folgenden Beispielcode:

var winston  = require ('winston'); 
var path  = require ('path'); 

var transports = []; 

transports.push(new winston.transports.DailyRotateFile({ 
    name: 'file', 
    datePattern: '.yyyy-MM-ddTHH', 
    filename: path.join("some_path", "log_file_name.log") 
})); 

var logger = new winston.Logger({transports: transports}); 

// ... and logging 
logger.info("some info log ...", {extraData: 'abc'}); 

Dateinamen werden wie folgt: log_file_name.log.2013-12-17T16, log_file_name.log.2013-12-17T17 usw.

Ich hoffe, dass helfen.

+0

Ich versuche, die DailyRotateFile zu verwenden, aber ich erhalte einen Fehler. Ich möchte, dass Sie sich diese Frage bitte ansehen. [Frage] (http://stackoverflow.com/questions/35158768/nodejs-logger-winston-transports-dailyrotatefile-is-not-a-function) –

+0

@ AndréLuiz, es sieht aus wie es eine ziemlich neue Änderung der Winston-Bibliothek gab (https://github.com/winstonjs/winston/blob/master/CHANGELOG.md) und Ende November 2015 wurde 'DailyRotateFile' Transport in ein separates Modul' winston-daily-rotate-file' verschoben . Sie müssen dieses Modul lediglich zu Ihrer package.json und 'require ('winston-daily-rotate-file')' 'hinzufügen. Ich werde meine Antwort in Kürze aktualisieren. – Tom

+0

Ich habe das Modul installiert und es gibt mir den gleichen Fehler = /. Ich benutze Express Winston –

Verwandte Themen