in src/log4net/Core/LoggingEvent.cs [1141:1182]
private void CreateCompositeProperties()
{
var compositeProperties = new CompositeProperties();
if (_eventProperties is not null)
{
compositeProperties.Add(_eventProperties);
}
var logicalThreadProperties = LogicalThreadContext.Properties.GetProperties(false);
if (logicalThreadProperties is not null)
{
compositeProperties.Add(logicalThreadProperties);
}
if (ThreadContext.Properties.GetProperties(false) is PropertiesDictionary threadProperties)
{
compositeProperties.Add(threadProperties);
}
// TODO: Add Repository Properties
// event properties
bool shouldFixUserName = (_fixFlags & FixFlags.UserName) != 0;
bool shouldFixIdentity = (_fixFlags & FixFlags.Identity) != 0;
if (shouldFixIdentity || shouldFixUserName)
{
var eventProperties = new PropertiesDictionary();
if (shouldFixUserName)
{
eventProperties[UserNameProperty] = UserName;
}
if (shouldFixIdentity)
{
eventProperties[IdentityProperty] = Identity;
}
compositeProperties.Add(eventProperties);
}
compositeProperties.Add(GlobalContext.Properties.GetReadOnlyProperties());
this._compositeProperties = compositeProperties;
}