Adds in support for log level filtering - rather than using expressions
This commit is contained in:
@@ -36,7 +36,8 @@ namespace Umbraco.Core.Logging.Viewer
|
||||
int pageNumber = 1,
|
||||
int pageSize = 100,
|
||||
Direction orderDirection = Direction.Descending,
|
||||
string filterExpression = null);
|
||||
string filterExpression = null,
|
||||
string[] logLevels = null);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,8 @@ namespace Umbraco.Core.Logging.Viewer
|
||||
public PagedResult<LogMessage> GetLogs(DateTimeOffset startDate, DateTimeOffset endDate,
|
||||
int pageNumber = 1, int pageSize = 100,
|
||||
Direction orderDirection = Direction.Descending,
|
||||
string filterExpression = null)
|
||||
string filterExpression = null,
|
||||
string[] logLevels = null)
|
||||
{
|
||||
//Get all logs into memory (Not sure this good or not)
|
||||
var logs = GetAllLogs(startDate, endDate);
|
||||
@@ -60,6 +61,18 @@ namespace Umbraco.Core.Logging.Viewer
|
||||
logs = logs.Where(filter);
|
||||
}
|
||||
|
||||
//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)
|
||||
{
|
||||
var logsAfterLevelFilters = new List<LogEvent>();
|
||||
foreach (var level in logLevels)
|
||||
{
|
||||
logsAfterLevelFilters.AddRange(logs.Where(x => x.Level.ToString() == level));
|
||||
}
|
||||
logs = logsAfterLevelFilters;
|
||||
}
|
||||
|
||||
long totalRecords = logs.Count();
|
||||
long pageIndex = pageNumber - 1;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Http;
|
||||
using Umbraco.Core.Logging.Viewer;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence.DatabaseModelDefinitions;
|
||||
@@ -24,26 +24,26 @@ namespace Umbraco.Web.Editors
|
||||
[HttpGet]
|
||||
public int GetNumberOfErrors()
|
||||
{
|
||||
return _logViewer.GetNumberOfErrors(startDate: DateTime.Now, endDate: DateTime.Now);
|
||||
return _logViewer.GetNumberOfErrors(startDate: DateTime.Now.AddDays(-1), endDate: DateTime.Now);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public LogLevelCounts GetLogLevelCounts()
|
||||
{
|
||||
return _logViewer.GetLogLevelCounts(startDate: DateTime.Now, endDate: DateTime.Now);
|
||||
return _logViewer.GetLogLevelCounts(startDate: DateTime.Now.AddDays(-1), endDate: DateTime.Now);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IEnumerable<CommonLogMessage> GetCommonLogMessages()
|
||||
{
|
||||
return _logViewer.GetCommonLogMessages(startDate: DateTime.Now, endDate: DateTime.Now);
|
||||
return _logViewer.GetCommonLogMessages(startDate: DateTime.Now.AddDays(-1), endDate: DateTime.Now);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public PagedResult<LogMessage> GetLogs(string orderDirection = "Descending", int pageNumber = 1, string filterExpression = null)
|
||||
public PagedResult<LogMessage> GetLogs(string orderDirection = "Descending", int pageNumber = 1, string filterExpression = null, [FromUri]string[] logLevels = null)
|
||||
{
|
||||
var direction = orderDirection == "Descending" ? Direction.Descending : Direction.Ascending;
|
||||
return _logViewer.GetLogs(startDate: DateTime.Now, endDate: DateTime.Now, filterExpression: filterExpression, pageNumber: pageNumber, orderDirection: direction);
|
||||
return _logViewer.GetLogs(startDate: DateTime.Now.AddDays(-1), endDate: DateTime.Now, filterExpression: filterExpression, pageNumber: pageNumber, orderDirection: direction, logLevels: logLevels);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user