Ciao ho un requisito dal nostro team di produzione, ho bisogno di creare i registri ogni ora, so che il supporto winston ogni giorno, ma questo non mi aiuta. È possibile farlo?È possibile eseguire la rotazione del registro orario in Winston?
5
A
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à.
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) –
@ 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
Ho installato il modulo e mi sta dando lo stesso errore = /. Sto usando express winston –