From 84efc2fb519c8e195065e39c32ad7df052fc6533 Mon Sep 17 00:00:00 2001 From: Blake Niemyjski Date: Mon, 12 Feb 2024 07:41:43 -0600 Subject: [PATCH] Fixed a bug where the default formatter couldn't handle events with empty message or source. --- .../Formatting/Default/99_DefaultFormattingPlugin.cs | 5 ++++- .../Plugins/Formatting/FormattingPluginManager.cs | 12 +++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/Exceptionless.Core/Plugins/Formatting/Default/99_DefaultFormattingPlugin.cs b/src/Exceptionless.Core/Plugins/Formatting/Default/99_DefaultFormattingPlugin.cs index 51309b6382..32cc72fde3 100644 --- a/src/Exceptionless.Core/Plugins/Formatting/Default/99_DefaultFormattingPlugin.cs +++ b/src/Exceptionless.Core/Plugins/Formatting/Default/99_DefaultFormattingPlugin.cs @@ -56,7 +56,10 @@ public override MailMessageData GetEventNotificationMailMessageData(PersistentEv if (isCritical) notificationType = String.Concat("Critical ", notificationType.ToLowerInvariant()); - string subject = String.Concat(notificationType, ": ", messageOrSource).Truncate(120); + string subject = String.IsNullOrEmpty(messageOrSource) + ? notificationType + : String.Concat(notificationType, ": ", messageOrSource).Truncate(120); + var data = new Dictionary(); if (!String.IsNullOrEmpty(ev.Message)) data.Add("Message", ev.Message.Truncate(60)); diff --git a/src/Exceptionless.Core/Plugins/Formatting/FormattingPluginManager.cs b/src/Exceptionless.Core/Plugins/Formatting/FormattingPluginManager.cs index c68d7830a3..6206d0063d 100644 --- a/src/Exceptionless.Core/Plugins/Formatting/FormattingPluginManager.cs +++ b/src/Exceptionless.Core/Plugins/Formatting/FormattingPluginManager.cs @@ -1,4 +1,4 @@ -using Exceptionless.Core.Models; +using Exceptionless.Core.Models; using Microsoft.Extensions.Logging; namespace Exceptionless.Core.Plugins.Formatting; @@ -14,6 +14,8 @@ public SummaryData GetStackSummaryData(Stack stack) { foreach (var plugin in Plugins.Values.ToList()) { + using var _ = _logger.BeginScope(s => s.Property("PluginName", plugin.Name)); + try { var result = plugin.GetStackSummaryData(stack); @@ -36,6 +38,8 @@ public SummaryData GetEventSummaryData(PersistentEvent ev) { foreach (var plugin in Plugins.Values.ToList()) { + using var _ = _logger.BeginScope(s => s.Property("PluginName", plugin.Name)); + try { var result = plugin.GetEventSummaryData(ev); @@ -58,6 +62,8 @@ public string GetStackTitle(PersistentEvent ev) { foreach (var plugin in Plugins.Values.ToList()) { + using var _ = _logger.BeginScope(s => s.Property("PluginName", plugin.Name)); + try { string? result = plugin.GetStackTitle(ev); @@ -80,6 +86,8 @@ public MailMessageData GetEventNotificationMailMessageData(PersistentEvent ev, b { foreach (var plugin in Plugins.Values.ToList()) { + using var _ = _logger.BeginScope(s => s.Property("PluginName", plugin.Name)); + try { var result = plugin.GetEventNotificationMailMessageData(ev, isCritical, isNew, isRegression); @@ -102,6 +110,8 @@ public SlackMessage GetSlackEventNotificationMessage(PersistentEvent ev, Project { foreach (var plugin in Plugins.Values.ToList()) { + using var _ = _logger.BeginScope(s => s.Property("PluginName", plugin.Name)); + try { var message = plugin.GetSlackEventNotification(ev, project, isCritical, isNew, isRegression);