public static IDictionary<string, object> Merge(this IDictionary<string, object> dictionary, IDictionary<string, object> merge)
        {
            foreach (var kvp in merge)
            {
                dictionary.AddOrSet(kvp);
            }

            return dictionary;
        }
 public static IDictionary<string, object> AddOrSet(this IDictionary<string, object> dictionary, KeyValuePair<string, object> keyValuePair)
 {
     return dictionary.AddOrSet(keyValuePair.Key, keyValuePair.Value);
 }
 public static void AddTag(this Dictionary<string, object> loggingEvent, string tag)
 {
     loggingEvent.AddOrSet(TagsKeyName, tag);
 }