UNPKG

svelte-ux

Version:

- Increment version in `package.json` and commit as `Version bump to x.y.z` - `npm run publish`

56 lines (55 loc) 2.27 kB
const logLevels = ['TRACE', 'DEBUG', 'INFO', 'WARN', 'ERROR']; /** * Enable: * localStorage.logger = 'SelectField' * localStorage.logger = 'SelectField:INFO' * localStorage.logger = 'SelectField,Dialog' * localStorage.logger = 'SelectField:INFO,Dialog' */ export default class Logger { constructor(name) { this.name = name; } trace(...message) { this.log('TRACE', ...message); } debug(...message) { this.log('DEBUG', ...message); } info(...message) { this.log('INFO', ...message); } warn(...message) { this.log('WARN', ...message); } error(...message) { this.log('ERROR', ...message); } log(level, ...message) { var _a, _b, _c; const enabledLoggers = (_b = (_a = localStorage .getItem('logger')) === null || _a === void 0 ? void 0 : _a.split(',').map((x) => x.split(':'))) !== null && _b !== void 0 ? _b : []; const enabledLogger = enabledLoggers.find((x) => x[0] === this.name); const shouldLog = enabledLogger != null && logLevels.indexOf(level) >= logLevels.indexOf((_c = enabledLogger[1]) !== null && _c !== void 0 ? _c : 'DEBUG'); if (shouldLog) { switch (level) { case 'TRACE': console.trace(`%c${this.name} %c${level}`, 'color: hsl(200deg, 10%, 50%)', 'color: hsl(200deg, 40%, 50%)', ...message); break; case 'DEBUG': console.log(`%c${this.name} %c${level}`, 'color: hsl(200deg, 10%, 50%)', 'color: hsl(200deg, 40%, 50%)', ...message); break; case 'INFO': console.log(`%c${this.name} %c${level}`, 'color: hsl(200deg, 10%, 50%)', 'color: hsl(60deg, 100%, 50%)', ...message); break; case 'WARN': console.warn(`%c${this.name} %c${level}`, 'color: hsl(200deg, 10%, 50%)', 'color: hsl(30deg, 100%, 50%)', ...message); break; case 'ERROR': console.warn(`%c${this.name} %c${level}`, 'color: hsl(200deg, 10%, 50%)', 'color: hsl(0deg, 100%, 50%)', ...message); break; } } } }