electrode-server
Version:
A configurable Hapi web server
50 lines (40 loc) • 907 B
JavaScript
/* eslint-disable no-console, prefer-spread */
;
const LEVELS = {
info: 10,
warn: 20,
error: 30,
none: 100
};
let level = LEVELS.info;
const logger = {
setLevel(newLevel) {
const lowerLevel = (newLevel || "info").toLowerCase();
const numericLevel = LEVELS[lowerLevel];
if (!numericLevel) {
throw new Error(
`Log level must be one of ${Object.keys(LEVELS).join(", ")}. Received "${newLevel}".`
);
} else {
level = numericLevel;
}
},
info(/* messages */) {
if (level <= LEVELS.info) {
console.info.apply(console, arguments);
}
},
warn(/* messages */) {
if (level <= LEVELS.warn) {
console.warn.apply(console, arguments);
}
return;
},
error(/* messages */) {
if (level <= LEVELS.error) {
console.error.apply(console, arguments);
}
return;
}
};
module.exports = logger;