Skip to content

Commit 6722078

Browse files
committed
Add setLogLevel
1 parent 2136736 commit 6722078

File tree

3 files changed

+21
-34
lines changed

3 files changed

+21
-34
lines changed

packages/firestore/src/api/database.ts

Lines changed: 11 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,13 @@ import {
6868
validateStringEnum,
6969
valueDescription
7070
} from '../util/input_validation';
71-
import { getLogLevel, logError, LogLevel, setLogLevel } from '../util/log';
71+
import {
72+
getLogLevel,
73+
logError,
74+
LogLevel,
75+
LogLevelString,
76+
setLogLevel
77+
} from '../util/log';
7278
import { AutoId } from '../util/misc';
7379
import { Deferred, Rejecter, Resolver } from '../util/promise';
7480
import { FieldPath as ExternalFieldPath } from './field_path';
@@ -586,37 +592,14 @@ export class Firestore implements firestore.FirebaseFirestore, FirebaseService {
586592
return new WriteBatch(this);
587593
}
588594

589-
static get logLevel(): firestore.LogLevel {
590-
switch (getLogLevel()) {
591-
case LogLevel.DEBUG:
592-
return 'debug';
593-
case LogLevel.SILENT:
594-
return 'silent';
595-
default:
596-
// The default log level is error
597-
return 'error';
598-
}
595+
static get logLevel(): LogLevel {
596+
return getLogLevel();
599597
}
600598

601-
static setLogLevel(level: firestore.LogLevel): void {
599+
static setLogLevel(level: LogLevelString): void {
602600
validateExactNumberOfArgs('Firestore.setLogLevel', arguments, 1);
603601
validateArgType('Firestore.setLogLevel', 'non-empty string', 1, level);
604-
switch (level) {
605-
case 'debug':
606-
setLogLevel(LogLevel.DEBUG);
607-
break;
608-
case 'error':
609-
setLogLevel(LogLevel.ERROR);
610-
break;
611-
case 'silent':
612-
setLogLevel(LogLevel.SILENT);
613-
break;
614-
default:
615-
throw new FirestoreError(
616-
Code.INVALID_ARGUMENT,
617-
'Invalid log level: ' + level
618-
);
619-
}
602+
setLogLevel(level);
620603
}
621604

622605
// Note: this is not a property because the minifier can't work correctly with

packages/firestore/src/util/log.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
* limitations under the License.
1616
*/
1717

18-
import { Logger, LogLevel } from '@firebase/logger';
18+
import { Logger, LogLevel, LogLevelString } from '@firebase/logger';
1919
import { SDK_VERSION } from '../core/version';
2020
import { PlatformSupport } from '../platform/platform';
2121

22-
export { LogLevel };
22+
export { LogLevel, LogLevelString };
2323

2424
const logClient = new Logger('@firebase/firestore');
2525

@@ -28,8 +28,8 @@ export function getLogLevel(): LogLevel {
2828
return logClient.logLevel;
2929
}
3030

31-
export function setLogLevel(newLevel: LogLevel): void {
32-
logClient.logLevel = newLevel;
31+
export function setLogLevel(newLevel: LogLevel | LogLevelString): void {
32+
logClient.setLogLevel(newLevel);
3333
}
3434

3535
export function logDebug(msg: string, ...obj: unknown[]): void {

packages/logger/src/logger.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,11 @@ export class Logger {
151151
this._logLevel = val;
152152
}
153153

154+
setLogLevel(level: LogLevelString | LogLevel): void {
155+
const newLevel = typeof level === 'string' ? levelStringToEnum[level] : level;
156+
this.logLevel = newLevel;
157+
}
158+
154159
/**
155160
* The main (internal) log handler for the Logger instance.
156161
* Can be set to a new function in internal package code but not by user.
@@ -205,9 +210,8 @@ export class Logger {
205210
}
206211

207212
export function setLogLevel(level: LogLevelString | LogLevel): void {
208-
const newLevel = typeof level === 'string' ? levelStringToEnum[level] : level;
209213
instances.forEach(inst => {
210-
inst.logLevel = newLevel;
214+
inst.setLogLevel(level);
211215
});
212216
}
213217

0 commit comments

Comments
 (0)