in src/Elastic.CommonSchema.NLog/EcsLayout.cs [545:568]
private Agent GetAgent(LogEventInfo logEventInfo, Agent defaultAgent)
{
var agentId = AgentId?.Render(logEventInfo);
var agentName = AgentName?.Render(logEventInfo);
var agentType = AgentType?.Render(logEventInfo);
var agentVersion = AgentVersion?.Render(logEventInfo);
var previousAgent = _previousAgent ?? defaultAgent;
if ((string.IsNullOrEmpty(agentId) || agentId == previousAgent?.Id)
&& (string.IsNullOrEmpty(agentName) || agentName == previousAgent?.Name)
&& (string.IsNullOrEmpty(agentType) || agentType == previousAgent?.Type)
&& (string.IsNullOrEmpty(agentVersion) || agentVersion == previousAgent?.Version))
return previousAgent;
var agent = new Agent
{
Id = string.IsNullOrEmpty(agentId) ? previousAgent?.Id : agentId,
Name = string.IsNullOrEmpty(agentName) ? previousAgent?.Name : agentName,
Type = string.IsNullOrEmpty(agentType) ? previousAgent?.Type : agentType,
Version = string.IsNullOrEmpty(agentVersion) ? previousAgent?.Version : agentVersion,
};
_previousAgent = agent;
return agent;
}