private static void SerializeExceptions(IEnumerable <ExceptionDetails> exceptions, IJsonWriter writer) { int exceptionArrayIndex = 0; foreach (ExceptionDetails exceptionDetails in exceptions) { if (exceptionArrayIndex++ != 0) { writer.WriteComma(); } writer.WriteStartObject(); writer.WriteProperty("id", exceptionDetails.id); if (exceptionDetails.outerId != 0) { writer.WriteProperty("outerId", exceptionDetails.outerId); } writer.WriteProperty( "typeName", Utils.PopulateRequiredStringValue(exceptionDetails.typeName, "typeName", typeof(ExceptionTelemetry).FullName)); writer.WriteProperty( "message", Utils.PopulateRequiredStringValue(exceptionDetails.message, "message", typeof(ExceptionTelemetry).FullName)); if (exceptionDetails.hasFullStack) { writer.WriteProperty("hasFullStack", exceptionDetails.hasFullStack); } writer.WriteProperty("stack", exceptionDetails.stack); if (exceptionDetails.parsedStack.Count > 0) { writer.WritePropertyName("parsedStack"); writer.WriteStartArray(); int stackFrameArrayIndex = 0; foreach (StackFrame frame in exceptionDetails.parsedStack) { if (stackFrameArrayIndex++ != 0) { writer.WriteComma(); } writer.WriteStartObject(); SerializeStackFrame(frame, writer); writer.WriteEndObject(); } writer.WriteEndArray(); } writer.WriteEndObject(); } }
private static void SerializeExceptions(IEnumerable<ExceptionDetails> exceptions, IJsonWriter writer) { int exceptionArrayIndex = 0; foreach (ExceptionDetails exceptionDetails in exceptions) { if (exceptionArrayIndex++ != 0) { writer.WriteComma(); } writer.WriteStartObject(); writer.WriteProperty("id", exceptionDetails.id); if (exceptionDetails.outerId != 0) { writer.WriteProperty("outerId", exceptionDetails.outerId); } writer.WriteProperty( "typeName", Utils.PopulateRequiredStringValue(exceptionDetails.typeName, "typeName", typeof(ExceptionTelemetry).FullName)); writer.WriteProperty( "message", Utils.PopulateRequiredStringValue(exceptionDetails.message, "message", typeof(ExceptionTelemetry).FullName)); if (exceptionDetails.hasFullStack) { writer.WriteProperty("hasFullStack", exceptionDetails.hasFullStack); } writer.WriteProperty("stack", exceptionDetails.stack); if (exceptionDetails.parsedStack.Count > 0) { writer.WritePropertyName("parsedStack"); writer.WriteStartArray(); int stackFrameArrayIndex = 0; foreach (StackFrame frame in exceptionDetails.parsedStack) { if (stackFrameArrayIndex++ != 0) { writer.WriteComma(); } writer.WriteStartObject(); SerializeStackFrame(frame, writer); writer.WriteEndObject(); } writer.WriteEndArray(); } writer.WriteEndObject(); } }