internal CompositeElasticOpenTelemetryOptions()

in src/Elastic.OpenTelemetry.Core/Configuration/CompositeElasticOpenTelemetryOptions.cs [156:179]


	internal CompositeElasticOpenTelemetryOptions(IConfiguration configuration, ILoggerFactory loggerFactory) :
		this(configuration) => AdditionalLogger = loggerFactory?.CreateElasticLogger();

	/// <summary>
	/// Calculates whether global logging is enabled based on
	/// <see cref="LogTargets"/>, <see cref="LogDirectory"/> and <see cref="LogLevel"/>
	/// </summary>
	internal bool GlobalLogEnabled
	{
		get
		{
			var level = _logLevel.Value;
			var targets = _logTargets.Value;
			var isActive = level is <= LogLevel.Debug || !string.IsNullOrWhiteSpace(_logDirectory.Value) || targets.HasValue;
			if (!isActive)
				return isActive;

			if (level is LogLevel.None)
				isActive = false;
			else if (targets is LogTargets.None)
				isActive = false;
			return isActive;
		}
	}