@graphql-hive/logger
Version:
23 lines (19 loc) • 670 B
JavaScript
var logtape = require('@logtape/logtape');
class LogTapeLogWriter {
constructor(options = {}) {
this.options = options;
this.#logTapeLogger = logtape.getLogger(this.options.category ?? ["hive-gateway"]);
}
#logTapeLogger;
write(level, attrs, msg) {
const log = this.#logTapeLogger[level].bind(this.#logTapeLogger);
const properties = this.options.getProperties ? this.options.getProperties(level, attrs, msg) : attrs ? {
// TODO: attrs can be an array too
...attrs
} : void 0;
if (msg != null) log(msg, properties);
else if (properties) log(properties);
}
}
exports.LogTapeLogWriter = LogTapeLogWriter;
;