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;
}