Winston: Pérdida de memoria de EventEmitter. v.2.0.0

Creado en 4 nov. 2015  ·  3Comentarios  ·  Fuente: winstonjs/winston

Pruebe v2.0.0. pero surge el mismo problema.
Pide que compruebes.

Yo uso winston v1.0.2. Me encontré con el siguiente registro de error.
¿Hay alguna solución?

mi transporte

transports: [
  new winston.transports.Console({
    level:debug,
    colorize: 'true'
  }),
  new (winston.transports.DailyRotateFile)({
    datePattern: '.yyyy-MM-dd',
    filename: path.join(__dirname, '../logs/chat.error'),
    handleExceptions: true,
    prettyPrint: true,
    level: error,
    timestamp: 'true'
    //maxsize: 500000000 //byte
  })
]

registro de errores

(node) warning: possible EventEmitter memory leak detected. 11 logged listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at addListener (events.js:239:17)
    at once (events.js:265:8)
    at Transport.logException (c:\Users\Coupang\WebstormProjects\livechat-agent\node_modules\winston\lib\winston\transports\transport.js:132:8)
    at logAndWait (c:\Users\Coupang\WebstormProjects\livechat-agent\node_modules\winston\lib\winston\logger.js:646:15)
    at c:\Users\Coupang\WebstormProjects\livechat-agent\node_modules\async\lib\async.js:157:13
    at _each (c:\Users\Coupang\WebstormProjects\livechat-agent\node_modules\async\lib\async.js:57:9)
    at Object.async.each (c:\Users\Coupang\WebstormProjects\livechat-agent\node_modules\async\lib\async.js:156:9)
    at Logger._uncaughtException (c:\Users\Coupang\WebstormProjects\livechat-agent\node_modules\winston\lib\winston\logger.js:669:9)
    at emitOne (events.js:77:13)
    at process.emit (events.js:169:7)

Comentario más útil

Solo para tu información, también me encontré con este problema. Estaba lidiando con oyentes de excepción no controlados. Hay un método que necesita para llamar a su registrador .exceptions.unhandle() para eliminar a los oyentes. Esto realmente debería estar mejor documentado, o si lo está, no pude encontrarlo fácilmente. Busqué en el código para encontrar esta llamada (en realidad, encontré una llamada en desuso que me indicó esta, aunque el texto del registro de desuso está mal escrito).

Todos 3 comentarios

Proporcione el código exacto con el que está ejecutando [email protected] . Es muy sospechoso que el ejemplo de código anterior sea exactamente lo que está ejecutando ya que _winston.transports.DailyRotateFile se movió a winston-daily-rotate-file en 2.0.0_

Este era un problema conocido en la rama 1.x que solucionamos. Confirme (con una muestra de código reproducible completa) que está utilizando [email protected].

Incluso si esto sigue ocurriendo, en realidad no es un gran problema. Puedes simplemente ejecutar:

logger.setMaxListeners(0);

y eso definitivamente lo arreglará.

Así que estaba actualizando bithavoc/express-winston para trabajar con [email protected] y este problema volvió a surgir. No sé si establecer el máximo en infinito es una buena idea para evitar esto.

Solo para tu información, también me encontré con este problema. Estaba lidiando con oyentes de excepción no controlados. Hay un método que necesita para llamar a su registrador .exceptions.unhandle() para eliminar a los oyentes. Esto realmente debería estar mejor documentado, o si lo está, no pude encontrarlo fácilmente. Busqué en el código para encontrar esta llamada (en realidad, encontré una llamada en desuso que me indicó esta, aunque el texto del registro de desuso está mal escrito).

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

alvaro1728 picture alvaro1728  ·  22Comentarios

clmcgrath picture clmcgrath  ·  24Comentarios

jasonmcleod picture jasonmcleod  ·  27Comentarios

billiebbb picture billiebbb  ·  30Comentarios

Kivol picture Kivol  ·  23Comentarios