const noop = () => { };
class Logger {
    #logger = this.createLogger({});
    get log() {
        return this.#logger.log;
    }
    get info() {
        return this.#logger.info;
    }
    get error() {
        return this.#logger.error;
    }
    get warn() {
        return this.#logger.warn;
    }
    get metrics() {
        return this.#logger.metrics;
    }
    get action() {
        return this.#logger.action;
    }
    setLogger(settings = {}) {
        this.#logger = this.createLogger(settings);
    }
    /**
     * @inner
     *
     * To override the default logger, use setLogger
     */
    createLogger(settings) {
        return {
            log: settings.log ?? noop,
            info: settings.info ?? noop,
            warn: settings.warn ?? noop,
            error: settings.error ?? noop,
            metrics: settings.metrics ?? noop,
            action: settings.action ?? noop,
        };
    }
}
export const logger = new Logger();
//# sourceMappingURL=logger.js.map
