@aimee-blue/ab-service-kit
Version:
Aimee Blue Service Template
64 lines (54 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createBasicLogger = createBasicLogger;
exports.createNoOpBasicLogger = createNoOpBasicLogger;
exports.setDefaultBasicLogger = exports.defaultBasicLogger = void 0;
/**
* Creates new logger instance, use `defaultBasicLogger` instead if you want
* to share same instance as everyone else are sharing
*/
function createBasicLogger() {
return Object.freeze({
log: (message, ...parameters) => {
console.log(message, ...parameters);
},
warn: (message, ...parameters) => {
console.warn(message, ...parameters);
},
error: (message, ...parameters) => {
console.error(message, ...parameters);
}
});
}
function createNoOpBasicLogger() {
return Object.freeze({
log: (..._parameters) => {
return;
},
warn: (..._parameters) => {
return;
},
error: (..._parameters) => {
return;
}
});
}
let logger;
const defaultBasicLogger = () => {
if (logger) {
return logger;
}
return logger = createBasicLogger();
};
exports.defaultBasicLogger = defaultBasicLogger;
const setDefaultBasicLogger = newLogger => {
// tslint:disable-next-line: strict-boolean-expressions
if (!newLogger) {
throw new Error('Logger should be defined');
}
logger = newLogger;
};
exports.setDefaultBasicLogger = setDefaultBasicLogger;
//# sourceMappingURL=basicLogger.js.map