Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

541
Vistas
Winston-daily-rotate-file no actualiza el argumento oldfileName del detector de eventos de rotación después de cambiar el nombre del archivo

Estamos utilizando el módulo winston-daily-rotate node.js para iniciar sesión. Estamos manteniendo la carpeta sabia de fecha de registros. Entonces, cada vez que cambia la fecha, estamos usando el detector de eventos de rotación y moviendo el archivo a la nueva carpeta de fecha usando la funcionalidad de cambio de nombre. Después de cambiar el nombre del archivo en la función de devolución de llamada del evento de rotación, el siguiente evento de rotación obtiene un nombre de archivo más antiguo pero no el nombre de archivo renombrado.

A continuación se muestra mi código para el módulo de rotación de winston que produce registros las 24 horas.

¿Qué cambios necesito hacer en el siguiente código?

 var installedDate=getTodayDate();// will give the date when service was started let fileTransport = new (winston.transports.DailyRotateFile)({ filename: getININLogPath(), //will give the path to save log files. datePattern: 'YYYY-MM-DD', zippedArchive: true, maxSize: '20k',// size=20kb maxFiles: '14d' }); fileTransport.setMaxListeners(30); fileTransport.on('rotate', (oldFilename, newFilename) => { let currentDate=getTodayDate(); //getTodayDate will give the current date. let newFile = getININLogPath(); // will give the path to save log files. if (currentDate!=installedDate && process.env.ININ_TRACE_ROOT) { installedDate = currentDate; //compare the old date with new one and then rename old date folder to new one fs.rename(newFilename, newFile, (err) => { // eslint-disable-next-line no-console if (err) { console.log('Failed to move the new file into todays folder', err); } else { console.log('Successfully renamed file name to ', newFile); } }); } });

Pero esto después de cambiar el nombre de la función (fs.rename(newFilename, newFile, (err)) viene en la carpeta de fecha anterior, por ejemplo, si la fecha de instalación es 2022-05-23 y el próximo 2022-05-24, los registros del 24 también vienen en el 23 fecha.

Por favor, hágamelo saber si se requiere algún cambio en esto. Cualquier ayuda es muy apreciada.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda