public static BaseResultInfo GetLastItem(LOGTYPE logType, string server) { LogItemRepository repository = new LogItemRepository(); BaseResultInfo res = repository.GetLastLogItem(logType.ToString(), server); return(res); }
public static BaseResultInfo FileToNewDB(string fileName, LOGTYPE logType, bool isUnified) { SiteLogger.ILogger logger = SiteLogger.LoggingFactory.GetLogger; List <string> file = LogReader.LogFileReader.ReadFile(fileName); if (isUnified) { file = LogReader.LogFileReader.UnifiedLogLines(file); } List <LogItem> items = LogReader.LogFileReader.LinesToLogs(file.ToArray(), logType); LogItemRepository repository = new LogItemRepository(); BaseResultInfo res = repository.GetLastLogItem(logType.ToString(), null); LogItem last = res.GetResult <LogItem>(); int itemsSentToDB = items.Count; LogItem lastFound = last == null? null: items.FirstOrDefault(l => l.InsertDate == last.InsertDate); if (lastFound == null) { res = repository.InsertLogItem(items); } else { List <LogItem> itemsToSend = items.FindAll(l => l.Index > lastFound.Index); itemsSentToDB = itemsToSend.Count; res = repository.InsertLogItem(itemsToSend); } logger.Debug(string.Format("FILE NAME = {0} , TOTAL ITEMS = {1} , ITEM TRY INSERT = {2}, TOTAL SUCCESS = {3}, TOTAL FAILD = {4}", fileName, items.Count, itemsSentToDB, res.ReturnValue, itemsSentToDB - res.ReturnValue)); return(res); }
public void TEST_Insert_WARN_LOG_LIST_TO_DB() { string fileName = "Warn_fleet_20151103.log"; List <string> file = LogReader.LogFileReader.ReadFile(fileName); List <LogItem> items = LogReader.LogFileReader.LinesToLogs(file.ToArray(), LOGTYPE.Warn); LogItemRepository repository = new LogItemRepository(); BaseResultInfo res = repository.InsertLogItem(items); Assert.IsTrue(res != null); }
public void TEST_Insert_JSERROR_LOG_TO_DB() { string fileName = "JSTrace_fleet_20151103.log"; List <string> file = LogReader.LogFileReader.ReadFile(fileName); List <LogItem> items = LogReader.LogFileReader.LinesToLogs(file.ToArray(), LOGTYPE.JSError); LogItemRepository repository = new LogItemRepository(); BaseResultInfo res = repository.InsertLogItem(items[0]); Assert.IsTrue(res != null); }
public void TEST_Insert_ERROR_LOG_LIST_TO_DB() { string fileName = "Error_fleet_20161211.log"; List <string> file = LogReader.LogFileReader.ReadFile(fileName); List <string> newLins = LogReader.LogFileReader.UnifiedLogLines(file); List <LogItem> items = LogReader.LogFileReader.LinesToLogs(newLins.ToArray(), LOGTYPE.Error); LogItemRepository repository = new LogItemRepository(); BaseResultInfo res = repository.InsertLogItem(items); Assert.IsTrue(res != null); }
public void TEST_TEMP() { string fileName = "Error_fleet_20151109.log"; fileName = TestDataHelper.GetFullName(fileName); List <string> file = LogReader.LogFileReader.ReadFile(fileName); List <string> newLins = LogReader.LogFileReader.UnifiedLogLines(file); List <LogItem> items = LogReader.LogFileReader.LinesToLogs(newLins.ToArray(), LOGTYPE.Warn); LogItemRepository repository = new LogItemRepository(); BaseResultInfo res = repository.InsertLogItem(items); Assert.IsTrue(res != null); }
public static BaseResultInfo FileToDB(string fileName, LOGTYPE logType, bool isUnified) { List <string> file = LogReader.LogFileReader.ReadFile(fileName); if (isUnified) { file = LogReader.LogFileReader.UnifiedLogLines(file); } List <LogItem> items = LogReader.LogFileReader.LinesToLogs(file.ToArray(), logType); LogItemRepository repository = new LogItemRepository(); BaseResultInfo res = repository.InsertLogItem(items); return(res); }
public HttpResponseMessage Analyze(LogServiceRequest req) { _settingsRepo = new SettingsRepository(ActiveModule.ModuleID); long logItemCount = 0; string taskId = req.taskId; string logPath = FileUtils.GetDnnLogPath() + "\\"; var p = new LogAnalyzerHub(); p.NotifyStart(taskId); LogViewModel vm = new LogViewModel(); ILogItemRepository repo = new LogItemRepository(); long totalLogLines = 0, lineIncrement = 0; repo.DeleteAllItems(ActiveModule.ModuleID); foreach (string logFile in req.files) { totalLogLines += LogFileParser.GetLineCount(logPath + logFile); } lineIncrement = Convert.ToInt64(totalLogLines / 100); IAnalyzerNotifyer progressNotifyer = new AnalyzerNotifyer(totalLogLines, lineIncrement, taskId, p); try { var analyzer = new LogFileParser(progressNotifyer); foreach (string logFile in req.files) { var logItems = analyzer.GetEntries(logPath + logFile, "log4net", _settingsRepo.LogAnalyzerRegex); foreach (var li in logItems) { logItemCount++; li.ModuleId = ActiveModule.ModuleID; li.Count = 1; repo.InsertItem(li); } } if (logItemCount > 0) { // Rollup results and produce report object var reportItems = repo.GetRollupItems(ActiveModule.ModuleID).ToList(); vm.ReportedItems = reportItems.GroupBy(r => r.Level, r => r, (key, g) => new LogItemCollection { Level = key, Items = g.Take(100).ToList() } ).ToList(); p.NotifyProgress(taskId, 100, string.Empty); } else { p.NotifyProgress(taskId, -1, "Log files analyzed contain no entries."); } } catch (Exception ex) { p.NotifyProgress(taskId, -1, "An error occurred analyzing the log: " + ex.Message); return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message)); } finally { p.NotifyEnd(taskId); } return(Request.CreateResponse(HttpStatusCode.OK, vm)); }
public static BaseResultInfo GetLoginsLength(DateTime start, DateTime?end) { LogItemRepository repository = new LogItemRepository(); return(repository.GetLoginsLength(start, end)); }
public static BaseResultInfo SearchItems(LogItemRequest request) { LogItemRepository repository = new LogItemRepository(); return(repository.SearchItems(request)); }