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?
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
})
]
(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)
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).
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).