Spaces:
Paused
Paused
| export interface Logger { | |
| info(message: string): void | |
| warn(message: string): void | |
| error(message: string): void | |
| debug(message: string): void | |
| } | |
| class ConsoleLogger implements Logger { | |
| info(message: string): void { | |
| // eslint-disable-next-line no-console | |
| console.log(message) | |
| } | |
| warn(message: string): void { | |
| // eslint-disable-next-line no-console | |
| console.warn(message) | |
| } | |
| error(message: string): void { | |
| // eslint-disable-next-line no-console | |
| console.error(message) | |
| } | |
| debug(message: string): void { | |
| // eslint-disable-next-line no-console | |
| console.debug(message) | |
| } | |
| } | |
| let activeLogger: Logger = new ConsoleLogger() | |
| export const setLogger = (logger: Logger): void => { | |
| activeLogger = logger | |
| } | |
| export const logger = (): Logger => activeLogger | |