Попробуйте v2.0.0. но возникает та же проблема.
Просьба проверить.
Я использую винстон v1.0.2. Я встретился со следующим журналом ошибок.
Есть ли решение?
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)
Укажите точный код, который вы используете против [email protected]
. Очень подозрительно, что приведенный выше пример кода — это именно то, что вы используете, поскольку _winston.transports.DailyRotateFile был перемещен в winston-daily-rotate-file в версии 2.0.0_.
Это была известная проблема в ветке 1.x
, которую мы исправили. Пожалуйста, подтвердите (с полным воспроизводимым образцом кода), что вы используете [email protected].
Даже если это все еще происходит, это действительно не большая проблема. Вы можете просто запустить:
logger.setMaxListeners(0);
и это обязательно исправит.
Итак, я обновлял bithavoc/express-winston для работы с [email protected]
, и эта проблема возникла снова. Я не знаю, является ли установка максимума на бесконечность хорошей идеей, чтобы обойти это
Просто к вашему сведению, я тоже столкнулся с этой проблемой. Это имело дело с прослушивателями необработанных исключений. Существует метод, который вам нужно вызвать в вашем регистраторе .exceptions.unhandle()
, чтобы удалить слушателей. Это действительно должно быть лучше задокументировано, или если это так, я не мог легко найти его. Я копался в коде, чтобы найти этот вызов (на самом деле я нашел устаревший вызов, который указал мне на этот, хотя текст журнала устаревания написан неправильно).
Самый полезный комментарий
Просто к вашему сведению, я тоже столкнулся с этой проблемой. Это имело дело с прослушивателями необработанных исключений. Существует метод, который вам нужно вызвать в вашем регистраторе
.exceptions.unhandle()
, чтобы удалить слушателей. Это действительно должно быть лучше задокументировано, или если это так, я не мог легко найти его. Я копался в коде, чтобы найти этот вызов (на самом деле я нашел устаревший вызов, который указал мне на этот, хотя текст журнала устаревания написан неправильно).