@pexip/signal
Version:
an observer pattern while avoiding boilerplate code. https://en.wikipedia.org/wiki/Signals_and_slots
36 lines (35 loc) • 1.18 kB
JavaScript
export var LogLevels;
(function (LogLevels) {
LogLevels[LogLevels["trace"] = 10] = "trace";
LogLevels[LogLevels["debug"] = 20] = "debug";
LogLevels[LogLevels["info"] = 30] = "info";
LogLevels[LogLevels["warn"] = 40] = "warn";
LogLevels[LogLevels["error"] = 50] = "error";
LogLevels[LogLevels["fatal"] = 60] = "fatal";
LogLevels[LogLevels["silent"] = 9007199254740991] = "silent";
})(LogLevels || (LogLevels = {}));
/**
* Create a logger with console API, and map fatal to error, skipping trace
* and silent, and there is no redaction
*/
export function createConsoleLogger() {
return Object.freeze({
fatal: (meta, message) => console.error(message, meta),
error: (meta, message) => console.error(message, meta),
warn: (meta, message) => console.warn(message, meta),
info: (meta, message) => console.info(message, meta),
debug: (meta, message) => console.debug(message, meta),
trace() {
// Noop
},
silent() {
// Noop
},
redact(text) {
return text;
},
addRedactPattern() {
// Noop
},
});
}