in src/Elastic.CommonSchema.NLog/EcsLayout.cs [608:631]
private Server GetServer(LogEventInfo logEventInfo, Server defaultServer)
{
var serverUser = ServerUser?.Render(logEventInfo);
var serverAddress = ServerAddress?.Render(logEventInfo);
var serverDomain = ServerDomain?.Render(logEventInfo);
var serverIp = ServerIp?.Render(logEventInfo);
var previousServer = _previousServer ?? defaultServer;
if ((string.IsNullOrEmpty(serverUser) || serverUser == previousServer?.User?.Name)
&& (string.IsNullOrEmpty(serverAddress) || serverAddress == previousServer?.Address)
&& (string.IsNullOrEmpty(serverDomain) || serverDomain == previousServer?.Domain)
&& (string.IsNullOrEmpty(serverIp) || serverIp == previousServer?.Ip))
return previousServer;
var server = new Server
{
User = string.IsNullOrEmpty(serverUser) ? previousServer?.User : new User() { Name = serverUser },
Address = string.IsNullOrEmpty(serverAddress) ? previousServer?.Address : serverAddress,
Domain = string.IsNullOrEmpty(serverDomain) ? previousServer?.Domain : serverDomain,
Ip = string.IsNullOrEmpty(serverIp) ? previousServer?.Ip : serverIp,
};
_previousServer = server;
return server;
}