@backstage/backend-test-utils
Version:
Test helpers library for Backstage backends
50 lines (47 loc) • 1.2 kB
JavaScript
;
const levels = {
none: 0,
error: 1,
warn: 2,
info: 3,
debug: 4
};
class MockRootLoggerService {
#level;
#meta;
static create(options) {
const level = options?.level ?? "none";
if (!(level in levels)) {
throw new Error(`Invalid log level '${level}'`);
}
return new MockRootLoggerService(levels[level], {});
}
error(message, meta) {
this.#log("error", message, meta);
}
warn(message, meta) {
this.#log("warn", message, meta);
}
info(message, meta) {
this.#log("info", message, meta);
}
debug(message, meta) {
this.#log("debug", message, meta);
}
child(meta) {
return new MockRootLoggerService(this.#level, { ...this.#meta, ...meta });
}
constructor(level, meta) {
this.#level = level;
this.#meta = meta;
}
#log(level, message, meta) {
const levelValue = levels[level] ?? 0;
if (levelValue <= this.#level) {
const labels = Object.entries(this.#meta).map(([key, value]) => `${key}=${value}`).join(",");
console[level](`${labels} ${message}`, meta);
}
}
}
exports.MockRootLoggerService = MockRootLoggerService;
//# sourceMappingURL=MockRootLoggerService.cjs.js.map