Centreon_EventLog_2_Syslog.SyslogServer.SendEventByUDP C# (CSharp) Method

SendEventByUDP() private method

Send event to syslog server
private SendEventByUDP ( String message, String eventLogName, System.Diagnostics.EventLogEntry eventLogEntry, Filter filter ) : System.Boolean
message String Message to send
eventLogName String
eventLogEntry System.Diagnostics.EventLogEntry Event to transfert to syslog server
filter Filter Filter with Syslog facility and level
return System.Boolean
        private Boolean SendEventByUDP(String message, String eventLogName, EventLogEntry eventLogEntry, Filter filter)
        {
            IPAddress[] ServersAddress;

            // Create syslog tag and remove syslog message accents
            Int32 pri = (int)Facility[filter.SyslogFacility.ToLower()] * 8 + (int)Level[filter.SyslogLevel.ToLower()];
            String body = "<" + pri + ">" + eventLogEntry.MachineName + " " + message;

            // Convert final message in bytes
            byte[] rawMsg = Encoding.Default.GetBytes(body);

            try
            {
                ServersAddress = Dns.GetHostAddresses(this._ServerAddress);

                String temp = ServersAddress.GetValue(0).ToString();

                for (int i = 0; i < ServersAddress.Length; i++)
                {
                    UdpClient udp = new UdpClient(ServersAddress.GetValue(i).ToString(), this._ServerPort);

                    udp.Send(rawMsg, rawMsg.Length);
                    this._Debug.Write("Syslog Server", "Event send to: " + ServersAddress.GetValue(i).ToString() + " with message: " + message, DateTime.Now, 2);
                    udp.Close();
                    udp = null;
                }
            }
            catch (SocketException e)
            {
                this._Debug.Write("Syslog Server", "SocketException caught because: " + e.Message, DateTime.Now, 1);
                return false;
            }
            catch (ArgumentNullException e)
            {
                this._Debug.Write("Syslog Server", "ArgumentNullException caught because: " + e.Message, DateTime.Now, 1);
                return false;
            }
            catch (ArgumentOutOfRangeException e)
            {
                this._Debug.Write("Syslog Server", "ArgumentOutOfRangeException caught because: " + e.Message, DateTime.Now, 1);
                return false;
            }
            catch (ObjectDisposedException e)
            {
                this._Debug.Write("Syslog Server", "ObjectDisposedException caught because: " + e.Message, DateTime.Now, 1);
                return false;
            }
            catch (InvalidOperationException e)
            {
                this._Debug.Write("Syslog Server", "InvalidOperationException caught because: " + e.Message, DateTime.Now, 1);
                return false;
            }

            return true;
        }