Skip to content

Commit bff0142

Browse files
authored
chore(): Move event bus local logging (medusajs#14244)
**what** Log only when actually processing events
1 parent c26f564 commit bff0142

File tree

4 files changed

+35
-18
lines changed

4 files changed

+35
-18
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@medusajs/event-bus-local": patch
3+
---
4+
5+
chore(): Move event bus local logging

packages/modules/event-bus-local/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"scripts": {
2929
"watch": "yarn run -T tsc --build --watch",
3030
"build": "yarn run -T rimraf dist && yarn run -T tsc --build",
31-
"test": "../../../node_modules/.bin/jest --passWithNoTests",
31+
"test": "../../../node_modules/.bin/jest --passWithNoTests --testPathPattern=src",
3232
"test:integration": "../../../node_modules/.bin/jest --passWithNoTests --no-cache --bail --detectOpenHandles --forceExit --logHeapUsage --testPathPattern=\"integration-tests/__tests__/.*\\.spec\\.ts\""
3333
},
3434
"peerDependencies": {

packages/modules/event-bus-local/src/services/__tests__/event-bus-local.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,6 @@ describe("LocalEventBusService", () => {
7878
name: "eventName",
7979
})
8080

81-
expect(loggerMock.info).toHaveBeenCalledTimes(0)
82-
8381
await eventBus.emit(
8482
{
8583
name: "eventName",
@@ -99,7 +97,7 @@ describe("LocalEventBusService", () => {
9997
name: "eventName",
10098
})
10199

102-
expect(loggerMock.info).toHaveBeenCalledTimes(0)
100+
expect(loggerMock.info).toHaveBeenCalledTimes(1)
103101
})
104102

105103
it("should emit multiple events", async () => {

packages/modules/event-bus-local/src/services/event-bus-local.ts

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ eventEmitter.setMaxListeners(Infinity)
2222

2323
// eslint-disable-next-line max-len
2424
export default class LocalEventBusService extends AbstractEventBusModuleService {
25-
protected readonly logger_?: Logger
25+
protected readonly logger_: Logger
2626
protected readonly eventEmitter_: EventEmitter
2727
protected groupedEventsMap_: StagingQueueType
2828

@@ -35,11 +35,27 @@ export default class LocalEventBusService extends AbstractEventBusModuleService
3535
// eslint-disable-next-line prefer-rest-params
3636
super(...arguments)
3737

38-
this.logger_ = logger
38+
this.logger_ = logger ?? console
3939
this.eventEmitter_ = eventEmitter
4040
this.groupedEventsMap_ = new Map()
4141
}
4242

43+
private logProcessingEvent(
44+
eventData: Message,
45+
options: Record<string, unknown> = {},
46+
totalSubscribers: number
47+
) {
48+
if (
49+
totalSubscribers &&
50+
!options?.internal &&
51+
!eventData.options?.internal
52+
) {
53+
this.logger_.info(
54+
`Processing ${eventData.name} which has ${totalSubscribers} subscribers`
55+
)
56+
}
57+
}
58+
4359
/**
4460
* Accept an event name and some options
4561
*
@@ -55,16 +71,6 @@ export default class LocalEventBusService extends AbstractEventBusModuleService
5571
: [eventsData]
5672

5773
for (const eventData of normalizedEventsData) {
58-
const eventListenersCount = this.eventEmitter_.listenerCount(
59-
eventData.name
60-
)
61-
62-
if (!options.internal && !eventData.options?.internal) {
63-
this.logger_?.info(
64-
`Processing ${eventData.name} which has ${eventListenersCount} subscribers`
65-
)
66-
}
67-
6874
await this.groupOrEmitEvent({
6975
...eventData,
7076
options,
@@ -103,6 +109,10 @@ export default class LocalEventBusService extends AbstractEventBusModuleService
103109
if (hasStarSubscriber) {
104110
this.eventEmitter_.emit("*", eventBody)
105111
}
112+
113+
const totalSubscribers =
114+
eventListenersCount + (hasStarSubscriber ? 1 : 0)
115+
this.logProcessingEvent(eventData, options, totalSubscribers)
106116
})
107117
}
108118
}
@@ -144,6 +154,10 @@ export default class LocalEventBusService extends AbstractEventBusModuleService
144154
if (hasStarSubscriber) {
145155
this.eventEmitter_.emit("*", eventBody)
146156
}
157+
158+
const totalSubscribers =
159+
eventListenersCount + (hasStarSubscriber ? 1 : 0)
160+
this.logProcessingEvent(event, options, totalSubscribers)
147161
})
148162
}
149163

@@ -179,10 +193,10 @@ export default class LocalEventBusService extends AbstractEventBusModuleService
179193
try {
180194
await subscriber(data)
181195
} catch (err) {
182-
this.logger_?.error(
196+
this.logger_.error(
183197
`An error occurred while processing ${event.toString()}:`
184198
)
185-
this.logger_?.error(err)
199+
this.logger_.error(err)
186200
}
187201
}
188202

0 commit comments

Comments
 (0)