Пример #1
0
 public string Build(string message, object[] messageArgs, string reason, ContextDataItems contextData)
 {
     string result = SubstituteReasonTag(message, SanitizeReason(reason));
     result = SubstituteContextualTags(result, contextData);
     result = FormatArgumentPlaceholders(result, messageArgs);
     return result;
 }
Пример #2
0
 private string SubstituteContextualTags(string message, ContextDataItems contextData)
 {
     var regex = new Regex(@"\{(?<key>[a-z|A-Z]+)(?:\:(?<default>[a-z|A-Z|\s]+))?\}");
     return regex.Replace(message, match =>
     {
         string key = match.Groups["key"].Value;
         return contextData.AsStringOrDefault(key) ?? match.Groups["default"].Value;
     });
 }