mwoffliner
Version:
MediaWiki ZIM scraper
46 lines • 1.24 kB
JavaScript
export const logLevels = ['info', 'log', 'warn', 'error', 'quiet'];
let verboseLevel = 'error';
const isVerbose = (level) => {
if (!verboseLevel) {
return false;
}
const verboseLevelIndex = logLevels.indexOf(verboseLevel);
const logLevelIndex = logLevels.indexOf(level);
return logLevelIndex >= verboseLevelIndex ? true : false;
};
const doLog = (type, args) => {
if (isVerbose(type)) {
console[type](`[${type}] [${getTs()}]`, ...args);
}
};
const getTs = () => {
return new Date().toISOString();
};
export const setVerboseLevel = (level) => {
verboseLevel = level === true ? 'info' : level;
};
export const info = (...args) => {
doLog('info', args);
};
export const log = (...args) => {
doLog('log', args);
};
export const warn = (...args) => {
doLog('warn', args);
};
export const error = (...args) => {
doLog('error', args);
};
export const logifyArray = (arr) => {
if (arr.length < 3) {
return JSON.stringify(arr);
}
else {
const ret = arr
.slice(0, 1)
.concat(`+${arr.length - 2} more +`)
.concat(arr[arr.length - 1]);
return JSON.stringify(ret);
}
};
//# sourceMappingURL=Logger.js.map