public void threadWarnSyslog() { List<EventLogEntry> eventLogList = new List<EventLogEntry>(); monitor mmm = new monitor(); List<string> eventTypelist = new List<string>(); eventTypelist.Add("system"); eventTypelist.Add("Application"); eventTypelist.Add("Security"); foreach (string eventType1 in eventTypelist) { eventLogList = mmm.getWarnEventLog(eventType1); bool found = false; foreach (EventLogEntry newEventLog in eventLogList) { ////textBox4.Text = newEventLog.Message; foreach (EventLogEntry exsitEventLog in ExsitListOfWarnEventLog) { if (exsitEventLog.TimeGenerated == newEventLog.TimeGenerated && exsitEventLog.Category == newEventLog.Category && exsitEventLog.Message == newEventLog.Message && exsitEventLog.InstanceId == newEventLog.InstanceId && exsitEventLog.UserName == newEventLog.UserName && exsitEventLog.MachineName == newEventLog.MachineName) //日志相同的只发送一次 { found = true;//找到相同的了 } } if (!found) //没找到,添加进去, { ExsitListOfWarnEventLog.Add(newEventLog); //填入已存在列表里 eventLogTypeList eventList = new eventLogTypeList(); eventList.eventLogEntry = newEventLog; eventList.eventLogType = eventType1; WarningListOfWarnEventLog.Add(eventList);//发送警报列表里 } } eventLogList.Clear(); //处理完毕,清空 } StringBuilder sb1 = new StringBuilder(); StringBuilder sb2 = new StringBuilder(); StringBuilder sb3 = new StringBuilder(); StringBuilder sb4 = new StringBuilder(); StringBuilder sb5 = new StringBuilder(); if (WarningListOfWarnEventLog.Count > 0) { eventlogWarnNum += WarningListOfWarnEventLog.Count; foreach (eventLogTypeList eventLogType in WarningListOfWarnEventLog) { string error = eventLogType.eventLogType + "日志出现警告!"; string message = eventLogType.eventLogEntry.Message; eventlogWarnMessage += eventLogType.eventLogEntry.Message +"\n\r"; string sb = eventLogType.eventLogType + message + eventLogType.eventLogEntry.TimeGenerated; string str5 = System.Windows.Forms.Application.StartupPath; string a = str5 + "\\db.accdb"; Tool_Class.AccessDbClass1 db = new Tool_Class.AccessDbClass1(); db.AccessDbClass2(a); string egg = "W"; string sql11 = "insert into Status_Histroy (para_name,details,flag,create_date,para_value) values ('syslog_warn','" + error + "%','" + egg + "','" + eventLogType.eventLogEntry.TimeGenerated + "','" + message + "')"; bool ee = db.ExecuteSQLNonquery(sql11); } WarningListOfWarnEventLog.Clear(); } }
public void threadWarnSyslog() { List <EventLogEntry> eventLogList = new List <EventLogEntry>(); monitor mmm = new monitor(); List <string> eventTypelist = new List <string>(); eventTypelist.Add("system"); eventTypelist.Add("Application"); eventTypelist.Add("Security"); foreach (string eventType1 in eventTypelist) { eventLogList = mmm.getWarnEventLog(eventType1); bool found = false; foreach (EventLogEntry newEventLog in eventLogList) { ////textBox4.Text = newEventLog.Message; foreach (EventLogEntry exsitEventLog in ExsitListOfWarnEventLog) { if (exsitEventLog.TimeGenerated == newEventLog.TimeGenerated && exsitEventLog.Category == newEventLog.Category && exsitEventLog.Message == newEventLog.Message && exsitEventLog.InstanceId == newEventLog.InstanceId && exsitEventLog.UserName == newEventLog.UserName && exsitEventLog.MachineName == newEventLog.MachineName) //日志相同的只发送一次 { found = true; //找到相同的了 } } if (!found) //没找到,添加进去, { ExsitListOfWarnEventLog.Add(newEventLog); //填入已存在列表里 eventLogTypeList eventList = new eventLogTypeList(); eventList.eventLogEntry = newEventLog; eventList.eventLogType = eventType1; WarningListOfWarnEventLog.Add(eventList);//发送警报列表里 } } eventLogList.Clear(); //处理完毕,清空 } StringBuilder sb1 = new StringBuilder(); StringBuilder sb2 = new StringBuilder(); StringBuilder sb3 = new StringBuilder(); StringBuilder sb4 = new StringBuilder(); StringBuilder sb5 = new StringBuilder(); if (WarningListOfWarnEventLog.Count > 0) { eventlogWarnNum += WarningListOfWarnEventLog.Count; foreach (eventLogTypeList eventLogType in WarningListOfWarnEventLog) { string error = eventLogType.eventLogType + "日志出现警告!"; string message = eventLogType.eventLogEntry.Message; string sb = eventLogType.eventLogType + message + eventLogType.eventLogEntry.TimeGenerated; string str5 = System.Windows.Forms.Application.StartupPath; string a = str5 + "\\db.accdb"; Tool_Class.AccessDbClass1 db = new Tool_Class.AccessDbClass1(); db.AccessDbClass2(a); string egg = "W"; string sql11 = "insert into Status_Histroy (para_name,details,flag,create_date,para_value) values ('syslog_warn','" + error + "%','" + egg + "','" + eventLogType.eventLogEntry.TimeGenerated + "','" + message + "')"; bool ee = db.ExecuteSQLNonquery(sql11); } WarningListOfWarnEventLog.Clear(); } }