blob: 408002b69b77aa99d58c0b611a190336ac8628ad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
import { BaseLogger } from './base';
import type { Level, LoggerFactory, Logger } from './types';
import { shouldLog } from './local-storage-filter';
export class ConsoleLoggerFactory implements LoggerFactory {
loggerFor(name: string): Logger {
return new ConsoleLogger(name);
}
}
export class ConsoleLogger extends BaseLogger {
protected log(method: Level, ...args: unknown[]): string {
if (!shouldLog(this.name, method)) {
return '';
}
const log = console[method];
const prefix = `[${this.name}]`;
const [firstArg, ...rest] = args;
if (typeof firstArg === 'string') {
log(`${prefix} ${firstArg}`, ...rest);
} else {
log(prefix, ...args);
}
return '';
}
}
|