internal static LogLevel? LogLevelParser()

in src/Elastic.OpenTelemetry.Core/Configuration/Parsers/SharedParsers.cs [14:41]


	internal static LogLevel? LogLevelParser(string? s) =>
		!string.IsNullOrEmpty(s) ? LogLevelHelpers.ToLogLevel(s!) : null;

	internal static LogTargets? LogTargetsParser(string? s)
	{
		if (string.IsNullOrWhiteSpace(s))
			return null;

		var logTargets = LogTargets.None;
		var found = false;

		foreach (var target in s!.Split([';', ','], RemoveEmptyEntries))
			if (IsSet(target, "stdout"))
				logTargets |= LogTargets.StdOut;
			else if (IsSet(target, "file"))
				logTargets |= LogTargets.File;
			else if (IsSet(target, "none"))
				logTargets |= LogTargets.None;
		return !found ? null : logTargets;

		bool IsSet(string k, string v)
		{
			var b = k.Trim().Equals(v, InvariantCultureIgnoreCase);
			if (b)
				found = true;
			return b;
		}
	}