Пример #1
0
        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();
            }
        }
Пример #2
0
        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();
            }
        }