diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2019-05-14 16:45:15 +0200 |
---|---|---|
committer | Daniel Bevenius <daniel.bevenius@gmail.com> | 2019-05-17 05:39:00 +0200 |
commit | 9375088bd3df5a1bd2c4dfc5be1b1d37a7fe2dda (patch) | |
tree | f5d44bf6b3e7fbef0d6469c2223586f4d788432f /lib/events.js | |
parent | 776e0000bc57ffadc5a21bf2c9307e9c217f1613 (diff) | |
download | android-node-v8-9375088bd3df5a1bd2c4dfc5be1b1d37a7fe2dda.tar.gz android-node-v8-9375088bd3df5a1bd2c4dfc5be1b1d37a7fe2dda.tar.bz2 android-node-v8-9375088bd3df5a1bd2c4dfc5be1b1d37a7fe2dda.zip |
events: improve max listeners warning
This adds the constructor name of the event target to the emitted
warning. Right now it's difficult to identify where the leak is
actually coming from and having some further information about the
source will likely help to identify the source.
PR-URL: https://github.com/nodejs/node/pull/27694
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Diffstat (limited to 'lib/events.js')
-rw-r--r-- | lib/events.js | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/events.js b/lib/events.js index 3deb155479..438c8f8306 100644 --- a/lib/events.js +++ b/lib/events.js @@ -31,6 +31,10 @@ const { ERR_UNHANDLED_ERROR } = require('internal/errors').codes; +const { + inspect +} = require('internal/util/inspect'); + function EventEmitter() { EventEmitter.init.call(this); } @@ -253,8 +257,8 @@ function _addListener(target, type, listener, prepend) { // eslint-disable-next-line no-restricted-syntax const w = new Error('Possible EventEmitter memory leak detected. ' + `${existing.length} ${String(type)} listeners ` + - 'added. Use emitter.setMaxListeners() to ' + - 'increase limit'); + `added to ${inspect(target, { depth: -1 })}. Use ` + + 'emitter.setMaxListeners() to increase limit'); w.name = 'MaxListenersExceededWarning'; w.emitter = target; w.type = type; |