Winston: Vazamento de memória EventEmitter. v.2.0.0

Criado em 4 nov. 2015  ·  3Comentários  ·  Fonte: winstonjs/winston

Experimente a v2.0.0. mas surge o mesmo problema.
Solicite que você verifique.

Eu uso winston v1.0.2. Eu me encontrei com o seguinte log de erros.
Existe alguma solução?

meu 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 erros

(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)

Comentários muito úteis

Apenas para sua informação, também me deparei com esse problema. Ele estava lidando com ouvintes de exceção sem tratamento. Existe um método que você precisa chamar no seu registrador .exceptions.unhandle() para remover os ouvintes. Isso realmente deveria ser melhor documentado, ou se for, eu não poderia encontrá-lo facilmente. Vasculhei o código para encontrar essa chamada (na verdade, encontrei uma chamada obsoleta que me apontou para esta, embora o texto do log de obsolescência esteja escrito errado).

Todos 3 comentários

Forneça o código exato em que você está executando [email protected] . É muito suspeito que o exemplo de código acima seja exatamente o que você está executando desde que _winston.transports.DailyRotateFile foi movido para winston-daily-rotate-file em 2.0.0_

Este era um problema conhecido na ramificação 1.x que corrigimos. Confirme (com amostra de código reproduzível completa) que você está usando [email protected].

Mesmo que isso ainda esteja ocorrendo, não é realmente um grande problema. Você pode simplesmente executar:

logger.setMaxListeners(0);

e isso definitivamente irá corrigi-lo.

Então eu estava atualizando o bithavoc/express-winston para trabalhar com [email protected] e esse problema surgiu novamente. Eu não sei se definir o máximo para infinito é uma boa ideia para contornar isso

Apenas para sua informação, também me deparei com esse problema. Ele estava lidando com ouvintes de exceção sem tratamento. Existe um método que você precisa chamar no seu registrador .exceptions.unhandle() para remover os ouvintes. Isso realmente deveria ser melhor documentado, ou se for, eu não poderia encontrá-lo facilmente. Vasculhei o código para encontrar essa chamada (na verdade, encontrei uma chamada obsoleta que me apontou para esta, embora o texto do log de obsolescência esteja escrito errado).

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Tonacatecuhtli picture Tonacatecuhtli  ·  4Comentários

sinai-doron picture sinai-doron  ·  3Comentários

bertolo1988 picture bertolo1988  ·  3Comentários

KingRial picture KingRial  ·  3Comentários

kjin picture kjin  ·  3Comentários