public LogDashboardModel Dashboard() { var logs = _log4NetRepository.Query(); List <ErrorDashboardModel.NameCountPair> logTypes = logs.GroupBy(q => q.Level) .Select(q => new ErrorDashboardModel.NameCountPair { Name = q.Key, Count = q.Count() }).ToList(); List <ErrorDashboardModel.NameCountPair> applications = logs.GroupBy(q => q.Logger) .Select(q => new ErrorDashboardModel.NameCountPair { Name = q.Key, Count = q.Count() }).ToList(); StringBuilder json = new StringBuilder(); json.Append("["); foreach (var errorType in logTypes) { json.Append("['" + errorType.Name + "'," + errorType.Count + "],"); } json.Remove(json.Length - 1, 1); json.Append("]"); string logTypesJson = json.ToString(); LogDashboardModel logDashboard = new LogDashboardModel { Applications = applications, LogTypes = logTypes, LogTypesJson = logTypesJson }; return(logDashboard); }
public ActionResult Index() { LogDashboardModel model = _log4NetService.Dashboard(); return(View(model)); }