gelf4net.Layout.GelfLayout.AddAdditionalFields C# (CSharp) Метод

AddAdditionalFields() приватный Метод

private AddAdditionalFields ( log4net.Core.LoggingEvent loggingEvent, GelfMessage message ) : void
loggingEvent log4net.Core.LoggingEvent
message GelfMessage
Результат void
        private void AddAdditionalFields(LoggingEvent loggingEvent, GelfMessage message)
        {
            var additionalFields = ParseField(AdditionalFields) ?? new Dictionary<string, object>();
            foreach (DictionaryEntry item in loggingEvent.GetProperties())
            {
                var key = item.Key as string;
                if (key != null && !key.StartsWith("log4net:") /*exclude log4net built-in properties */ )
                {
                    additionalFields.Add(key, FormatAdditionalField(item.Value));
                }
            }

            foreach (var kvp in additionalFields)
            {
                var key = kvp.Key.StartsWith("_") ? kvp.Key : "_" + kvp.Key;

                //If the value starts with a '%' then defer to the pattern layout
                var patternValue = kvp.Value as string;
                var value = patternValue != null && patternValue.StartsWith("%") ? GetValueFromPattern(loggingEvent, patternValue) : kvp.Value;
                message[key] = value;
            }
        }