@croct/logging
Version:
An interoperability layer for logging libraries.
26 lines (25 loc) • 673 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PrefixedLogger = void 0;
/**
* A logger that prepends a prefix to all log messages.
*/
class PrefixedLogger {
/**
* Constructs a new instance.
*
* @param logger The logger to which messages are forwarded.
* @param prefix The prefix to prepend to all log messages.
*/
constructor(logger, prefix) {
this.logger = logger;
this.prefix = prefix;
}
log({ message, ...log }) {
this.logger.log({
message: `[${this.prefix}] ${message}`,
...log,
});
}
}
exports.PrefixedLogger = PrefixedLogger;