diff --git a/CHANGELOG.md b/CHANGELOG.md index f936dd472..3b0b0a418 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Added + +- Added the stack trace logging for `MaxListenersExceededWarning` occurrences + ### Changed - Refactored the deprecated animation providers (`provideAnimations()` and `provideNoopAnimations()`) diff --git a/apps/api/src/main.ts b/apps/api/src/main.ts index 77d571ea0..b30a20323 100644 --- a/apps/api/src/main.ts +++ b/apps/api/src/main.ts @@ -26,6 +26,15 @@ import { AppModule } from './app/app.module'; import { environment } from './environments/environment'; const logger = new Logger('Bootstrap'); +const processWarningLogger = new Logger('ProcessWarning'); + +process.on('warning', ({ name, stack }) => { + if (name === 'MaxListenersExceededWarning') { + // Log the stack trace of MaxListenersExceededWarning occurrences to identify + // the event emitter and the call site which registers the listeners + processWarningLogger.warn(stack); + } +}); async function bootstrap() { // Respect HTTP_PROXY / HTTPS_PROXY / NO_PROXY for outbound HTTP requests