Как делать logrotate журналы в отдельные файлы ежедневно в Node.js с помощью библиотеки Winston - PullRequest
0 голосов
/ 17 октября 2019

У меня есть приложение nodejs. Мне нужно регистрировать каждое событие в этой программе, и я использую библиотеку Winston для этого. Я пытаюсь создать файл журнала для каждого дня.

Все журналы должны быть отделены день ото дня. Имена этих файлов должны быть датой текущего дня.

Например, сегодня я открываю свою программу и делаю запрос на получение. Это действие должно быть сохранено в виде файла на моем компьютере (например, на рабочем столе), а имя файла должно быть 17/10 / 2019.log. Любое предложение?

РЕДАКТИРОВАТЬ: решено !!

require('winston-daily-rotate-file');
const logDir= 'C://Users/Desktop/LogFiles';

var options = {
         file: {
           level:'info',
           filename: path.resolve(`${logDir}/${new Date().getFullYear().toString()} - ${new Date().getMonth()+1}/%DATE%.log`),
           datePattern: 'YYYY-MM-DD',
           timestamp: new Date()
          };


     let logger = winston.createLogger({
      level:'info', 
      format: winston.format.combine(
        winston.format.printf(info => { return `${info.timestamp} || ${info.level} || Message: ${info.message}`; })
 ),

     transports: [
       new winston.transports.DailyRotateFile(options.file)
        ],  
           exitOnError: false,
    });

1 Ответ

1 голос
/ 17 октября 2019

вы можете использовать Транспорт для Уинстона, оформить заказ https://github.com/winstonjs/winston-daily-rotate-file

, он может сделать все, что вы просите, и даже больше.

...