示例#1
0
 // 로그온/오프 이벤트 핸들러
 static void EventLogCallback(object obj,
                              EventRecordWrittenEventArgs arg)
 {
     if (arg.EventRecord != null)
     {
         String xmlString = arg.EventRecord.ToXml();
         String resultString;
         try
         {
             XmlDocument xd = new XmlDocument();
             xd.LoadXml(xmlString);
             LogOnOffMessageManager logonMessage = new LogOnOffMessageManager(" ");
             resultString = logonMessage.makeMessage(xmlString);
             SyslogManager.portableSyslogUdpSend(ConfigManager.getIp(), ConfigManager.getPort(), resultString);
         }
         catch (Exception e) {
             _localLog.WriteEntry("Log on off message make error \r\n" + e.ToString(), EventLogEntryType.Error);
         }
     }
     else
     {
         _localLog.WriteEntry("Event Record is Null", EventLogEntryType.Error);
     }
 }
示例#2
0
        // IP 변경에 대한 이벤트 핸들러
        static void AddressChangedCallback(object sender, EventArgs e)
        {
            String xmlString = "<event><description>network interface change event occur</description>";

            byte[]             data = _encoding.GetBytes(xmlString);
            NetworkInterface[] nts  = NetworkInterface.GetAllNetworkInterfaces();
            DateTime           now  = DateTime.UtcNow;
            // event Log Time Format
            string currentTimeString = now.ToString("yyyy-MM-ddTHH:mm:ss.fffffff00K",
                                                    CultureInfo.InvariantCulture);

            foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
            {
                if (ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
                {
                    foreach (UnicastIPAddressInformation ip in ni.GetIPProperties().UnicastAddresses)
                    {
                        if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
                        {
                            xmlString += "<ip>" + ip.Address.ToString() + "</ip>";
                            xmlString += "<mac>" + ni.GetPhysicalAddress().ToString() + "</mac>";
                            xmlString += "<hostname>" + Dns.GetHostName() + "</hostname>";
                            xmlString += "<currentSystemTime>" + currentTimeString + "</currentSystemTime>";
                            xmlString += "</event>";
                        }
                    }
                }
            }


            // xml을 안만들고 바로 message 만들기도 가능
            IpChangeMessageManager ipChangeMessageManager = new IpChangeMessageManager(" ");
            String resultString = ipChangeMessageManager.makeMessage(xmlString);

            SyslogManager.portableSyslogUdpSend(ConfigManager.getIp(), ConfigManager.getPort(), resultString);
        }