in src/Elastic.OpenTelemetry.Core/Configuration/CompositeElasticOpenTelemetryOptions.cs [100:127]
internal CompositeElasticOpenTelemetryOptions(IConfiguration configuration, ElasticOpenTelemetryOptions options)
: this((IDictionary?)null)
{
var parser = new ConfigurationParser(configuration);
parser.ParseLogDirectory(_logDirectory);
parser.ParseLogTargets(_logTargets);
parser.ParseLogLevel(_logLevel, ref _eventLevel);
parser.ParseSkipOtlpExporter(_skipOtlpExporter);
parser.ParseSkipInstrumentationAssemblyScanning(_skipInstrumentationAssemblyScanning);
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();
}