Skip to content

Commit a462fc5

Browse files
committed
fix(Handlers): Only add default handler if no other
1 parent aa7c56d commit a462fc5

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

index.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import {
2-
getLogger,
32
addHandler,
3+
getLogger,
44
LogData,
55
LogLevel,
66
removeHandler,
7-
removeAllHandlers,
7+
removeHandlers,
88
replaceHandlers
99
} from './index'
1010

@@ -98,7 +98,7 @@ test('adding and removing handlers', () => {
9898
log.info('')
9999
expect(events.length).toBe(8)
100100

101-
removeAllHandlers()
101+
removeHandlers()
102102
log.info('')
103103
expect(events.length).toBe(8)
104104

index.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export function removeHandler(handler?: LogHandler) {
8585
/**
8686
* Remove all handlers.
8787
*/
88-
export function removeAllHandlers() {
88+
export function removeHandlers() {
8989
process.removeAllListeners(LOG_EVENT_NAME)
9090
}
9191

@@ -97,7 +97,7 @@ export function removeAllHandlers() {
9797
* to the console.
9898
*/
9999
export function replaceHandlers(handler: LogHandler) {
100-
removeAllHandlers()
100+
removeHandlers()
101101
addHandler(handler)
102102
}
103103

@@ -139,8 +139,9 @@ export function defaultHandler(data: LogData) {
139139
console.error(entry)
140140
}
141141

142-
// Always enable the default handler
143-
addHandler(defaultHandler)
142+
// Enable the default handler if there no other handler
143+
// already enabled e.g. by another package using `logga`
144+
if (!process.listenerCount(LOG_EVENT_NAME)) addHandler(defaultHandler)
144145

145146
/**
146147
* Get a logger for the specific application or package.

0 commit comments

Comments
 (0)