using Serilog.Events; using System; using System.Collections.Generic; using Umbraco.Core.Models; using Umbraco.Core.Persistence.DatabaseModelDefinitions; namespace Umbraco.Core.Logging.Viewer { public interface ILogViewer { /// /// Get all logs from your chosen datasource back as Serilog LogEvents /// IEnumerable GetAllLogs(DateTimeOffset startDate, DateTimeOffset endDate); /// /// A count of number of errors /// By counting Warnings with Exceptions, Errors & Fatal messages /// int GetNumberOfErrors(DateTimeOffset startDate, DateTimeOffset endDate); /// /// Returns a number of the different log level entries /// LogLevelCounts GetLogLevelCounts(DateTimeOffset startDate, DateTimeOffset endDate); /// /// Returns the top 10 common log message templates and their counts /// IEnumerable GetCommonLogMessages(DateTimeOffset startDate, DateTimeOffset endDate, int numberOfResults = 10); /// /// Returns the collection of logs /// PagedResult GetLogs(DateTimeOffset startDate, DateTimeOffset endDate, int pageNumber = 1, int pageSize = 100, Direction orderDirection = Direction.Descending, string filterExpression = null); } }