private Url GetUrl()

in src/Elastic.CommonSchema.NLog/EcsLayout.cs [733:758]


		private Url GetUrl(LogEventInfo logEventInfo)
		{
			var urlScheme = UrlScheme?.Render(logEventInfo);
			var urlPath = UrlPath?.Render(logEventInfo);
			var urlQuery = UrlQuery?.Render(logEventInfo);
			if (string.IsNullOrEmpty(urlScheme) && string.IsNullOrEmpty(urlPath) && string.IsNullOrEmpty(urlQuery))
				return null;

			var urlDomain = UrlDomain?.Render(logEventInfo);
			var urlUserName = UrlUserName?.Render(logEventInfo);
			var urlPort = UrlPort?.Render(logEventInfo);

			var url = new Url
			{
				Scheme = urlScheme,
				Domain = urlDomain,
				Path = urlPath,
				Query = string.IsNullOrEmpty(urlQuery) ? null : urlQuery,
				Username = string.IsNullOrEmpty(urlUserName) ? null : urlUserName
			};

			if (!string.IsNullOrEmpty(urlPort) && long.TryParse(urlPort, out var portNumber) && portNumber > 0)
				url.Port = portNumber;

			return url;
		}