kequapp
Version:
A minimal, zero-magic Node web framework built on native APIs
39 lines (38 loc) • 829 B
JavaScript
const logger = {
error: console.error,
warn: console.warn,
info: console.info,
http: console.debug,
verbose: console.debug,
debug: console.debug,
silly: console.debug,
log: console.log,
};
export default logger;
export function extendLogger(target, source) {
if (typeof source !== 'object' ||
source === null ||
Array.isArray(source)) {
return target;
}
return { ...target, ...pick(source) };
}
function pick(obj) {
const result = {};
for (const key of Object.keys(logger)) {
if (key in obj)
result[key] = obj[key];
}
return result;
}
const noop = () => { };
export const silentLogger = {
error: noop,
warn: noop,
info: noop,
http: noop,
verbose: noop,
debug: noop,
silly: noop,
log: noop,
};