interface Logger { log(message: string): void; error(message: string): void; } class ConsoleLogger implements Logger { log(message: string): void { console.log(message); } error(message: string) { console.error(message); } } class SDKLogger { private static logger: Logger = new ConsoleLogger(); public static logginEnabled: boolean = false; static setLogger(logger: Logger): void { this.logger = logger; } static log(message: string): void { //add timestamp and Info/Debug/Error let formattedMessage: string = new Date() + " -ShortloopSDK Info: " + message; if (this.logginEnabled) this.logger.log(formattedMessage); } static error(message: string): void { let formattedMessage: string = new Date() + " -ShortloopSDK Error: " + message; this.logger.error(formattedMessage); } } export default SDKLogger;