Skip to content

Commit decaa92

Browse files
authored
fix(ignore): Improve performance when logging is disabled (#7955)
* Improve logger performance * Align package versions * Fix eslint issue * Align built-in logger with the main implementation * Revert zigbee-herdsman package version so tests will run * Fix prettier issue * Fix CR comments * Revert package changes
1 parent 3ef88dd commit decaa92

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

src/lib/logger.ts

+8-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
import {Logger} from './types';
22

33
export let logger: Logger = {
4-
debug: (message, namespace) => console.debug(`${namespace}: ${message}`),
5-
info: (message, namespace) => console.info(`${namespace}: ${message}`),
6-
warning: (message, namespace) => console.warn(`${namespace}: ${message}`),
7-
error: (message, namespace) => console.error(`${namespace}: ${message}`),
4+
debug: (messageOrLambda, namespace) =>
5+
console.debug(`${namespace}: ${typeof messageOrLambda === 'function' ? messageOrLambda() : messageOrLambda}`),
6+
info: (messageOrLambda, namespace) =>
7+
console.info(`${namespace}: ${typeof messageOrLambda === 'function' ? messageOrLambda() : messageOrLambda}`),
8+
warning: (messageOrLambda, namespace) =>
9+
console.warn(`${namespace}: ${typeof messageOrLambda === 'function' ? messageOrLambda() : messageOrLambda}`),
10+
error: (messageOrLambda, namespace) =>
11+
console.error(`${namespace}: ${typeof messageOrLambda === 'function' ? messageOrLambda() : messageOrLambda}`),
812
};
913

1014
export function setLogger(l: Logger): void {

src/lib/types.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import type {FrameControl} from 'zigbee-herdsman/dist/zspec/zcl/definition/tstyp
77
import * as exposes from './exposes';
88

99
export interface Logger {
10-
debug: (message: string, namespace: string) => void;
11-
info: (message: string, namespace: string) => void;
12-
warning: (message: string, namespace: string) => void;
13-
error: (message: string, namespace: string) => void;
10+
debug: (messageOrLambda: string | (() => string), namespace: string) => void;
11+
info: (messageOrLambda: string | (() => string), namespace: string) => void;
12+
warning: (messageOrLambda: string | (() => string), namespace: string) => void;
13+
error: (messageOrLambda: string | (() => string), namespace: string) => void;
1414
}
1515

1616
export type Range = [number, number];

0 commit comments

Comments
 (0)