@datastax/astra-db-ts
Version:
Data API TypeScript client
37 lines (36 loc) • 1.14 kB
JavaScript
// Copyright Datastax, Inc
// SPDX-License-Identifier: Apache-2.0
import { InternalLogger } from '../../lib/logging/internal-logger.js';
export class HierarchicalLogger {
constructor(parent, config) {
Object.defineProperty(this, "internal", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
this.internal = new InternalLogger(config, parent?.internal, console);
}
updateLoggingConfig(config) {
this.internal.updateLoggingConfig(InternalLogger.cfg.parse(config));
}
on(eventName, listener) {
this.internal.on(eventName, listener);
return () => {
this.off(eventName, listener);
};
}
off(eventName, listener) {
return this.internal.off(eventName, listener);
}
once(eventName, listener) {
const off = this.on(eventName, (event) => {
off();
listener(event);
});
return off;
}
removeAllListeners(eventName) {
return this.internal.removeAllListeners(eventName);
}
}