@opentelemetry/api
Version:
Public API for OpenTelemetry
36 lines (35 loc) • 950 B
JavaScript
import { NOOP_LOGGER } from "./NoopLogger.mjs";
//#region src/logs/ProxyLogger.ts
var ProxyLogger = class {
constructor(provider, name, version, options) {
this._provider = provider;
this.name = name;
this.version = version;
this.options = options;
}
/**
* Emit a log record. This method should only be used by log appenders.
*
* @param logRecord
*/
emit(logRecord) {
this._getLogger().emit(logRecord);
}
enabled(options) {
return this._getLogger().enabled(options);
}
/**
* Try to get a logger from the proxy logger provider.
* If the proxy logger provider has no delegate, return a noop logger.
*/
_getLogger() {
if (this._delegate) return this._delegate;
const logger = this._provider._getDelegateLogger(this.name, this.version, this.options);
if (!logger) return NOOP_LOGGER;
this._delegate = logger;
return this._delegate;
}
};
//#endregion
export { ProxyLogger };
//# sourceMappingURL=ProxyLogger.mjs.map