Winston: Утечка памяти EventEmitter. v.2.0.0

Созданный на 4 нояб. 2015  ·  3Комментарии  ·  Источник: winstonjs/winston

Попробуйте 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)

Самый полезный комментарий

Просто к вашему сведению, я тоже столкнулся с этой проблемой. Это имело дело с прослушивателями необработанных исключений. Существует метод, который вам нужно вызвать в вашем регистраторе .exceptions.unhandle() , чтобы удалить слушателей. Это действительно должно быть лучше задокументировано, или если это так, я не мог легко найти его. Я копался в коде, чтобы найти этот вызов (на самом деле я нашел устаревший вызов, который указал мне на этот, хотя текст журнала устаревания написан неправильно).

Все 3 Комментарий

Укажите точный код, который вы используете против [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() , чтобы удалить слушателей. Это действительно должно быть лучше задокументировано, или если это так, я не мог легко найти его. Я копался в коде, чтобы найти этот вызов (на самом деле я нашел устаревший вызов, который указал мне на этот, хотя текст журнала устаревания написан неправильно).

Была ли эта страница полезной?
0 / 5 - 0 рейтинги