Skip to content

Commit f3c67c5

Browse files
committed
Refactor to propagate the default level if changed
1 parent 22e65b4 commit f3c67c5

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

packages/logger/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@
2121
* just use index.ts
2222
*/
2323

24-
import { instances, LogLevel } from './src/logger';
24+
import { instances, setDefaultLogLevel, LogLevel } from './src/logger';
2525

2626
export function setLogLevel(level: LogLevel) {
2727
instances.forEach(inst => {
2828
inst.logLevel = level;
2929
});
30+
setDefaultLogLevel(level);
3031
}
3132

3233
export { Logger, LogLevel, LogHandler } from './src/logger';

packages/logger/src/logger.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,21 @@ export enum LogLevel {
4646
SILENT
4747
}
4848

49+
/**
50+
* A container for the default log level
51+
*/
52+
let defaultLogLevel: LogLevel = LogLevel.WARN;
53+
54+
/**
55+
* A function to set the default log level externally
56+
*/
57+
export function setDefaultLogLevel(val: LogLevel) {
58+
if (!(val in LogLevel)) {
59+
throw new TypeError('Attempted to Invalid value assigned to `logLevel`');
60+
}
61+
defaultLogLevel = val;
62+
}
63+
4964
/**
5065
* We allow users the ability to pass their own log handler. We will pass the
5166
* type of log, the current log level, and any other arguments passed (i.e. the
@@ -100,7 +115,7 @@ export class Logger {
100115
* The log level of the given logger. Though all of the log levels can be
101116
* centrally set, each logger can be set individually if it desires.
102117
*/
103-
private _logLevel = LogLevel.WARN;
118+
private _logLevel = defaultLogLevel;
104119
get logLevel() {
105120
return this._logLevel;
106121
}

0 commit comments

Comments
 (0)