public static DataTable GetLogEntries(DateTime startDateTime, DateTime endDateTime) { DataTable fullLogTable = EventLogTableMgr.GetEventLog(); DataTable filteredlog = null; using (var tempLog = new DataTable()) { tempLog.Columns.Add("EventId", Type.GetType("System.Int32")); tempLog.Columns.Add("TimeStamp", Type.GetType("System.String")); tempLog.Columns.Add("Category", Type.GetType("System.String")); tempLog.Columns.Add("Message", Type.GetType("System.String")); int count = 0; DateTime dateTime; for (int i = 0; i < fullLogTable.Rows.Count - 1; i++) { dateTime = DateTime.Parse(fullLogTable.Rows[i]["TimeStamp"].ToString()); if (dateTime >= startDateTime && dateTime <= endDateTime) { tempLog.Rows.Add(new Object[] { count++.ToString(), fullLogTable.Rows[i]["TimeStamp"], fullLogTable.Rows[i]["Category"], fullLogTable.Rows[i]["Message"] }); } } filteredlog = tempLog; } return(filteredlog); }
public static void AddLogEntry(LogCategory category, string msg) { LogEntry logEntry = new LogEntry() { EventId = Index++, EntryDateTime = DateTime.Now, Category = category, Message = msg }; logViewerCtrl.AddLogEntry(logEntry); EventLogTableMgr.SaveLogEntryToDB(logEntry); }
private static void CreateDatabaseTables() { string filename = DBAdmin.CreateDBFile(); if (EventLogTableMgr.CreateEventLogDBTable()) { Logger.AddLogEntry(LogCategory.INFO, "Created Database file \'" + filename + "\'."); } SettingsTableMgr.CreateSettingsDBTable(); AudioClipsTableMgr.CreateAudioClipsDBTable(); TimeTriggerClipsTableMgr.CreateTimeTriggerClipsDBTable(); RulesetsTableMgr.CreateRulesetsDBTable(); RulesTableMgr.CreateRulesetRulesDBTable(); SessionsTableMgr.CreateSessionsDBTable(); SessionClipsTableMgr.CreateSessionsDBTable(); OnlineVoicesTableMgr.CreateOnlineVoicesDBTable(); }
private static DataTable TrimLogEntries(DataTable dataTable) { DataTable trimmedLog = null; using (var tempLog = new DataTable()) { tempLog.Columns.Add("EventId", Type.GetType("System.Int32")); tempLog.Columns.Add("TimeStamp", Type.GetType("System.String")); tempLog.Columns.Add("Category", Type.GetType("System.String")); tempLog.Columns.Add("Message", Type.GetType("System.String")); int trimCount = dataTable.Rows.Count - MaxLogEntries + 100; // remove 100 entries int count = 0; for (int i = trimCount; i < dataTable.Rows.Count - 1; i++) { tempLog.Rows.Add(new Object[] { count++.ToString(), dataTable.Rows[i]["TimeStamp"], dataTable.Rows[i]["Category"], dataTable.Rows[i]["Message"] }); } trimmedLog = tempLog; } EventLogTableMgr.SaveTrimmedLogToDB(trimmedLog); return(trimmedLog); }
internal static bool LoadLogEntries() { DataTable dataTable = EventLogTableMgr.GetEventLog(); if (dataTable != null) { if (dataTable.Rows.Count > MaxLogEntries) { dataTable = TrimLogEntries(dataTable); } int eventId = 0; foreach (DataRow dr in dataTable.Rows) { string eventIdStr = dr["EventId"].ToString(); if (Int32.TryParse(eventIdStr, out eventId)) { logViewerCtrl.AddLogEntry(new LogEntry() { EventId = eventId, EntryDateTime = DateTime.Parse(dr["TimeStamp"].ToString()), Category = GetCategory(dr["Category"].ToString()), Message = dr["Message"].ToString() }); } else { return(false); } } Index = eventId + 1; // set index to next eventId } else { return(false); } return(true); }