UNPKG

@dipscope/type-manager

Version:

Transform JSON strings or plain objects into JS class instances.

79 lines 3.05 kB
import { LoggerLevel } from './logger-level'; export class Logger { constructor(loggerLevel) { this.loggerLevel = loggerLevel; this.debugDisabled = this.loggerLevel > LoggerLevel.Debug; this.infoDisabled = this.loggerLevel > LoggerLevel.Info; this.warnDisabled = this.loggerLevel > LoggerLevel.Warn; this.errorDisabled = this.loggerLevel > LoggerLevel.Error; this.supportsConsole = console !== undefined && console !== null; this.supportsConsoleLog = this.supportsConsole && console.log !== undefined && console.log !== null; this.supportsConsoleInfo = this.supportsConsole && console.info !== undefined && console.info !== null; this.supportsConsoleWarn = this.supportsConsole && console.warn !== undefined && console.warn !== null; this.supportsConsoleError = this.supportsConsole && console.error !== undefined && console.error !== null; return; } format(component, loggerLevel, message) { return `[${component}][${loggerLevel}]: ${message}`; } debug(component, message, ...optionalParams) { if (this.debugDisabled) { return; } if (this.supportsConsoleLog) { const debugMessage = this.format(component, 'Debug', message); console.log(debugMessage, ...optionalParams); return; } return; } info(component, message, ...optionalParams) { if (this.infoDisabled) { return; } if (this.supportsConsoleInfo) { const infoMessage = this.format(component, 'Info', message); console.info(infoMessage, ...optionalParams); return; } if (this.supportsConsoleLog) { const infoMessage = this.format(component, 'Info', message); console.log(infoMessage, ...optionalParams); return; } return; } warn(component, message, ...optionalParams) { if (this.warnDisabled) { return; } if (this.supportsConsoleWarn) { const warnMessage = this.format(component, 'Warn', message); console.warn(warnMessage, ...optionalParams); return; } if (this.supportsConsoleLog) { const warnMessage = this.format(component, 'Warn', message); console.log(warnMessage, ...optionalParams); return; } return; } error(component, message, ...optionalParams) { if (this.errorDisabled) { return; } if (this.supportsConsoleError) { const errorMessage = this.format(component, 'Error', message); console.error(errorMessage, ...optionalParams); return; } if (this.supportsConsoleLog) { const errorMessage = this.format(component, 'Error', message); console.log(errorMessage, ...optionalParams); return; } return; } } //# sourceMappingURL=logger.js.map