diff --git a/src/Umbraco.Core/Logging/Viewer/LogViewerSourceBase.cs b/src/Umbraco.Core/Logging/Viewer/LogViewerSourceBase.cs index aede942ce0..59994a64a6 100644 --- a/src/Umbraco.Core/Logging/Viewer/LogViewerSourceBase.cs +++ b/src/Umbraco.Core/Logging/Viewer/LogViewerSourceBase.cs @@ -114,15 +114,29 @@ namespace Umbraco.Core.Logging.Viewer var filteredLogs = GetLogs(startDate, endDate, expression, 0, int.MaxValue); //This is user used the checkbox UI to toggle which log levels they wish to see - //If an empty array - its implied all levels to be viewed - if (logLevels.Length > 0) + //If an empty array or null - its implied all levels to be viewed + if (logLevels?.Length > 0) { var logsAfterLevelFilters = new List(); + bool validLogType = true; foreach (var level in logLevels) { - logsAfterLevelFilters.AddRange(filteredLogs.Where(x => x.Level.ToString() == level)); + //Check if level string is part of the LogEventLevel enum + if(Enum.IsDefined(typeof(LogEventLevel), level)) + { + validLogType = true; + logsAfterLevelFilters.AddRange(filteredLogs.Where(x => x.Level.ToString().ToLowerInvariant() == level.ToLowerInvariant())); + } + else + { + validLogType = false; + } + } + + if (validLogType) + { + filteredLogs = logsAfterLevelFilters; } - filteredLogs = logsAfterLevelFilters; } long totalRecords = filteredLogs.Count();