}
}
- private static string Serialize(ReadOnlyCollection<string> payloadName, ReadOnlyCollection<object> payload, string sep = ", ")
+ private static string Serialize(ReadOnlyCollection<string> payloadName, ReadOnlyCollection<object> payload, string eventMessage)
{
-
if (payloadName == null || payload == null )
return String.Empty;
var sb = StringBuilderCache.Acquire();
sb.Append('{');
+
+ // If the event has a message, send that as well as a pseudo-field
+ if (!string.IsNullOrEmpty(eventMessage))
+ {
+ sb.Append("\\\"EventSource_Message\\\":\\\"");
+ minimalJsonserializer(eventMessage,sb);
+ sb.Append("\\\"");
+ sb.Append(", ");
+ }
+
for (int i = 0; i < eventDataCount; i++)
{
var fieldstr = payloadName[i].ToString();
sb.Append(payload[i].ToString());
}
- sb.Append(sep);
-
+ sb.Append(", ");
}
sb.Length -= sep.Length;
if (eventData.Payload != null)
{
try{
- payload = Serialize(eventData.PayloadNames, eventData.Payload);
+ payload = Serialize(eventData.PayloadNames, eventData.Payload, eventData.Message);
}
catch (Exception ex)
{