summaryrefslogtreecommitdiff
path: root/src/mscorlib/src/System/Diagnostics/Eventing/XplatEventLogger.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/mscorlib/src/System/Diagnostics/Eventing/XplatEventLogger.cs')
-rw-r--r--src/mscorlib/src/System/Diagnostics/Eventing/XplatEventLogger.cs28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/mscorlib/src/System/Diagnostics/Eventing/XplatEventLogger.cs b/src/mscorlib/src/System/Diagnostics/Eventing/XplatEventLogger.cs
index d7112fc81b..c96d2129f0 100644
--- a/src/mscorlib/src/System/Diagnostics/Eventing/XplatEventLogger.cs
+++ b/src/mscorlib/src/System/Diagnostics/Eventing/XplatEventLogger.cs
@@ -73,9 +73,8 @@ namespace System.Diagnostics.Tracing
}
}
- 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;
@@ -92,8 +91,22 @@ namespace System.Diagnostics.Tracing
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("\\\"");
+ if (eventDataCount != 0)
+ sb.Append(", ");
+ }
+
for (int i = 0; i < eventDataCount; i++)
{
+ if (i != 0)
+ sb.Append(", ");
+
var fieldstr = payloadName[i].ToString();
sb.Append("\\\"");
@@ -114,14 +127,9 @@ namespace System.Diagnostics.Tracing
sb.Append(payload[i].ToString());
}
- sb.Append(sep);
-
}
-
- sb.Length -= sep.Length;
- sb.Append('}');
-
- return StringBuilderCache.GetStringAndRelease(sb);
+ sb.Append('}');
+ return StringBuilderCache.GetStringAndRelease(sb);
}
internal protected override void OnEventSourceCreated(EventSource eventSource)
@@ -149,7 +157,7 @@ namespace System.Diagnostics.Tracing
if (eventData.Payload != null)
{
try{
- payload = Serialize(eventData.PayloadNames, eventData.Payload);
+ payload = Serialize(eventData.PayloadNames, eventData.Payload, eventData.Message);
}
catch (Exception ex)
{