/// <summary> /// Logs an error event with the analytics service. /// </summary> /// <param name="message"> /// The error or exception message. /// </param> /// <param name="severity"> /// The severity of the event. /// </param> /// <param name="area"> /// The optional area or level name information. /// </param> /// <param name="position"> /// The optional position of the event. /// </param> public void LogErrorEvent(string message, AnalyticsErrorSeverity severity, string area, Vector3? position) { if (!this.m_KeysInitialized || !this.m_SessionInitialized) { // We don't throw an exception here because we may be reporting a crash. } // If we're not already stopping; this method might be called outside the game // loop in which case we can't do it via a thread. if (!this.m_Stopping) { this.EnsureRunning(); } var values = new Dictionary<string, object>(); values.Add("user_id", this.m_UserId); values.Add("session_id", this.m_SessionId); values.Add("build", this.m_BuildHash); values.Add("message", message); switch (severity) { case AnalyticsErrorSeverity.Critical: values.Add("severity", "critical"); break; case AnalyticsErrorSeverity.Error: values.Add("severity", "error"); break; case AnalyticsErrorSeverity.Warning: values.Add("severity", "warning"); break; case AnalyticsErrorSeverity.Info: values.Add("severity", "info"); break; case AnalyticsErrorSeverity.Debug: values.Add("severity", "debug"); break; } if (area != null) { values.Add("area", area); } if (position != null) { values.Add("x", position.Value.X); values.Add("y", position.Value.Y); values.Add("z", position.Value.Z); } this.m_PendingGameplayErrors.Enqueue(values); // If we are in the process of stopping, run the submission ourselves. if (this.m_Stopping) { this.Run(); } }
/// <summary> /// Logs an error event with the analytics service. /// </summary> /// <param name="message"> /// The error or exception message. /// </param> /// <param name="severity"> /// The severity of the event. /// </param> /// <param name="area"> /// The optional area or level name information. /// </param> /// <param name="position"> /// The optional position of the event. /// </param> public void LogErrorEvent(string message, AnalyticsErrorSeverity severity, string area, Vector3?position) { if (!this.m_KeysInitialized || !this.m_SessionInitialized) { // We don't throw an exception here because we may be reporting a crash. } // If we're not already stopping; this method might be called outside the game // loop in which case we can't do it via a thread. if (!this.m_Stopping) { this.EnsureRunning(); } var values = new Dictionary <string, object>(); values.Add("user_id", this.m_UserId); values.Add("session_id", this.m_SessionId); values.Add("build", this.m_BuildHash); values.Add("message", message); switch (severity) { case AnalyticsErrorSeverity.Critical: values.Add("severity", "critical"); break; case AnalyticsErrorSeverity.Error: values.Add("severity", "error"); break; case AnalyticsErrorSeverity.Warning: values.Add("severity", "warning"); break; case AnalyticsErrorSeverity.Info: values.Add("severity", "info"); break; case AnalyticsErrorSeverity.Debug: values.Add("severity", "debug"); break; } if (area != null) { values.Add("area", area); } if (position != null) { values.Add("x", position.Value.X); values.Add("y", position.Value.Y); values.Add("z", position.Value.Z); } this.m_PendingGameplayErrors.Enqueue(values); // If we are in the process of stopping, run the submission ourselves. if (this.m_Stopping) { this.Run(); } }
public void LogErrorEvent(string message, AnalyticsErrorSeverity severity, string area, Microsoft.Xna.Framework.Vector3? position) { }
public void LogErrorEvent(string message, AnalyticsErrorSeverity severity, string area, Microsoft.Xna.Framework.Vector3?position) { }