2013-12-18 15 views

risposta

9

È possibile ruotare i registri di Winston ogni ora. È necessario fornire l'ora (HH) nel modello di data.

Si prega di controllare il codice di esempio:

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'}); 

I nomi dei file saranno i seguenti: log_file_name.log.2013-12-17T16, log_file_name.log.2013-12-17T17 ecc

Spero che vi aiuterà.

+0

Sto cercando di utilizzare il DailyRotateFile ma sto ricevendo un errore. Vorrei che esaminassi questa domanda, per favore. [Domanda] (http://stackoverflow.com/questions/35158768/nodejs-logger-winston-transports-dailyrotatefile-is-not-a-function) –

+0

@ AndréLuiz, sembra che ci sia stato un cambio abbastanza recente della libreria Winston (https://github.com/winstonjs/winston/blob/master/CHANGELOG.md) e alla fine di novembre 2015, il trasporto 'DailyRotateFile' è stato spostato in un modulo separato' winston-daily-rotate-file' . Hai solo bisogno di aggiungere quel modulo al tuo pacchetto. Json e 'require ('winston-daily-rotate-file')'. Aggiornerò la mia risposta a breve – Tom

+0

Ho installato il modulo e mi sta dando lo stesso errore = /. Sto usando express winston –