Buckets:
tahamajs/Other_Lessons / AP /TA_1 /AP-ECE-UT.github.io /node_modules /webpack-bundle-analyzer /lib /Logger.js
| ; | |
| const LEVELS = ['debug', 'info', 'warn', 'error', 'silent']; | |
| const LEVEL_TO_CONSOLE_METHOD = new Map([['debug', 'log'], ['info', 'log'], ['warn', 'log']]); | |
| class Logger { | |
| constructor(level = Logger.defaultLevel) { | |
| this.activeLevels = new Set(); | |
| this.setLogLevel(level); | |
| } | |
| setLogLevel(level) { | |
| const levelIndex = LEVELS.indexOf(level); | |
| if (levelIndex === -1) throw new Error(`Invalid log level "${level}". Use one of these: ${LEVELS.join(', ')}`); | |
| this.activeLevels.clear(); | |
| for (const [i, level] of LEVELS.entries()) { | |
| if (i >= levelIndex) this.activeLevels.add(level); | |
| } | |
| } | |
| _log(level, ...args) { | |
| console[LEVEL_TO_CONSOLE_METHOD.get(level) || level](...args); | |
| } | |
| } | |
| Logger.levels = LEVELS; | |
| Logger.defaultLevel = 'info'; | |
| ; | |
| LEVELS.forEach(level => { | |
| if (level === 'silent') return; | |
| Logger.prototype[level] = function (...args) { | |
| if (this.activeLevels.has(level)) this._log(level, ...args); | |
| }; | |
| }); | |
| module.exports = Logger; |
Xet Storage Details
- Size:
- 999 Bytes
- Xet hash:
- c408041a8982e513145b9b777ff7a04c81e243120696123152d3903735954154
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.