internal CompositeElasticOpenTelemetryOptions()

in src/Elastic.OpenTelemetry.Core/Configuration/CompositeElasticOpenTelemetryOptions.cs [129:154]


	internal CompositeElasticOpenTelemetryOptions(ElasticOpenTelemetryOptions options)
		: this((IDictionary?)null)
	{
		if (options is null)
			return;

		// Having configured the base settings from env vars, we now override anything that was
		// explicitly configured in the user provided options.

		if (options.SkipOtlpExporter.HasValue)
			_skipOtlpExporter.Assign(options.SkipOtlpExporter.Value, ConfigSource.Options);

		if (!string.IsNullOrEmpty(options.LogDirectory))
			_logDirectory.Assign(options.LogDirectory, ConfigSource.Options);

		if (options.LogLevel.HasValue)
			_logLevel.Assign(options.LogLevel.Value, ConfigSource.Options);

		if (options.LogTargets.HasValue)
			_logTargets.Assign(options.LogTargets.Value, ConfigSource.Options);

		if (options.SkipInstrumentationAssemblyScanning.HasValue)
			_skipInstrumentationAssemblyScanning.Assign(options.SkipInstrumentationAssemblyScanning.Value, ConfigSource.Options);

		AdditionalLogger = options.AdditionalLogger ?? options.AdditionalLoggerFactory?.CreateElasticLogger();
	}