{"version":3,"file":"ComponentLogger.cjs","names":["getGlobal"],"sources":["../../src/diag/ComponentLogger.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { getGlobal } from '../internal/global-utils';\nimport type { ComponentLoggerOptions, DiagLogger } from './types';\n\n/**\n * Component Logger which is meant to be used as part of any component which\n * will add automatically additional namespace in front of the log message.\n * It will then forward all message to global diag logger\n * @example\n * const cLogger = diag.createComponentLogger({ namespace: '@opentelemetry/instrumentation-http' });\n * cLogger.debug('test');\n * // @opentelemetry/instrumentation-http test\n */\nexport class DiagComponentLogger implements DiagLogger {\n  private _namespace: string;\n\n  constructor(props: ComponentLoggerOptions) {\n    this._namespace = props.namespace || 'DiagComponentLogger';\n  }\n\n  public debug(...args: unknown[]): void {\n    return logProxy('debug', this._namespace, args);\n  }\n\n  public error(...args: unknown[]): void {\n    return logProxy('error', this._namespace, args);\n  }\n\n  public info(...args: unknown[]): void {\n    return logProxy('info', this._namespace, args);\n  }\n\n  public warn(...args: unknown[]): void {\n    return logProxy('warn', this._namespace, args);\n  }\n\n  public verbose(...args: unknown[]): void {\n    return logProxy('verbose', this._namespace, args);\n  }\n}\n\nfunction logProxy(\n  funcName: keyof DiagLogger,\n  namespace: string,\n  args: unknown[]\n): void {\n  const logger = getGlobal('diag');\n  // shortcut if logger not set\n  if (!logger) {\n    return;\n  }\n\n  return logger[funcName](namespace, ...args);\n}\n"],"mappings":";;;;;;;;;;;AAiBA,IAAa,sBAAb,MAAuD;CAGrD,YAAY,OAA+B;EACzC,KAAK,aAAa,MAAM,aAAa;CACvC;CAEA,MAAa,GAAG,MAAuB;EACrC,OAAO,SAAS,SAAS,KAAK,YAAY,IAAI;CAChD;CAEA,MAAa,GAAG,MAAuB;EACrC,OAAO,SAAS,SAAS,KAAK,YAAY,IAAI;CAChD;CAEA,KAAY,GAAG,MAAuB;EACpC,OAAO,SAAS,QAAQ,KAAK,YAAY,IAAI;CAC/C;CAEA,KAAY,GAAG,MAAuB;EACpC,OAAO,SAAS,QAAQ,KAAK,YAAY,IAAI;CAC/C;CAEA,QAAe,GAAG,MAAuB;EACvC,OAAO,SAAS,WAAW,KAAK,YAAY,IAAI;CAClD;AACF;AAEA,SAAS,SACP,UACA,WACA,MACM;CACN,MAAM,SAASA,qBAAAA,UAAU,MAAM;CAE/B,IAAI,CAAC,QACH;CAGF,OAAO,OAAO,SAAS,CAAC,WAAW,GAAG,IAAI;AAC5C"}