{"version":3,"file":"ProxyLoggerProvider.cjs","names":["ProxyLogger","NOOP_LOGGER_PROVIDER"],"sources":["../../src/logs/ProxyLoggerProvider.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { LoggerProvider } from './LoggerProvider';\nimport type { Logger } from './Logger';\nimport type { LoggerOptions } from './LoggerOptions';\nimport { NOOP_LOGGER_PROVIDER } from './NoopLoggerProvider';\nimport { ProxyLogger } from './ProxyLogger';\n\nexport class ProxyLoggerProvider implements LoggerProvider {\n  private _delegate?: LoggerProvider;\n\n  getLogger(name: string, version?: string, options?: LoggerOptions): Logger {\n    return (\n      this._getDelegateLogger(name, version, options) ??\n      new ProxyLogger(this, name, version, options)\n    );\n  }\n\n  /**\n   * Get the delegate logger provider.\n   * Used by tests only.\n   * @internal\n   */\n  _getDelegate(): LoggerProvider {\n    return this._delegate ?? NOOP_LOGGER_PROVIDER;\n  }\n\n  /**\n   * Set the delegate logger provider\n   * @internal\n   */\n  _setDelegate(delegate: LoggerProvider) {\n    this._delegate = delegate;\n  }\n\n  /**\n   * @internal\n   */\n  _getDelegateLogger(\n    name: string,\n    version?: string | undefined,\n    options?: LoggerOptions | undefined\n  ): Logger | undefined {\n    return this._delegate?.getLogger(name, version, options);\n  }\n}\n"],"mappings":";;;AAWA,IAAa,sBAAb,MAA2D;CAGzD,UAAU,MAAc,SAAkB,SAAiC;;EACzE,QAAA,wBACE,KAAK,mBAAmB,MAAM,SAAS,OAAO,OAAA,QAAA,0BAAA,KAAA,IAAA,wBAC9C,IAAIA,oBAAAA,YAAY,MAAM,MAAM,SAAS,OAAO;CAEhD;;;;;;CAOA,eAA+B;;EAC7B,QAAA,kBAAO,KAAK,eAAA,QAAA,oBAAA,KAAA,IAAA,kBAAaC,2BAAAA;CAC3B;;;;;CAMA,aAAa,UAA0B;EACrC,KAAK,YAAY;CACnB;;;;CAKA,mBACE,MACA,SACA,SACoB;;EACpB,QAAA,mBAAO,KAAK,eAAA,QAAA,qBAAA,KAAA,IAAA,KAAA,IAAA,iBAAW,UAAU,MAAM,SAAS,OAAO;CACzD;AACF"}