/// <summary>
 /// Log something
 /// </summary>
 /// <param name="logEntry"><see cref="LogEntry"/> instance to log</param>
 public void Log(LogEntry logEntry)
 {
     if (logEntry.Exception == null)
     {
         MessageMethods[logEntry.Level](logEntry);
     }
     else
     {
         ExceptionMethods[logEntry.Level](logEntry);
     }
 }
Example #2
0
        private static void Main()
        {
            Write2Con("ezMessageBroker Server Started");

            TcpListener server = null;

            try
            {
                var port     = int.Parse(Environment.GetEnvironmentVariable("TCPPORT") ?? string.Empty);
                var localAdd = IPAddress.Parse(Environment.GetEnvironmentVariable("TCPIP") ?? string.Empty);

                server = new TcpListener(localAdd, port);

                // Start listening for client requests.
                server.Start();

                // Buffer for reading data
                var bytes = new byte[256];

                // some additional setting up
                Console.ForegroundColor = ConsoleColor.Green;

                // Enter the listening loop.
                while (true)
                {
                    var client = server.AcceptTcpClient();

                    var stream = client.GetStream();

                    // Loop to receive all the data sent by the client.
                    while (stream.Read(bytes, 0, bytes.Length) != 0)
                    {
                        var curProcess = MessageMethods.DeserializeMessage <ProcessMessage>(bytes);

                        // run logic on the process object, and determine appropriate response
                        var data = ProcessLogic(curProcess);

                        var msg = Encoding.UTF8.GetBytes(data);

                        stream.Write(msg, 0, msg.Length);
                    }

                    client.Close();
                }
            }
            catch (SocketException e)
            {
                Write2Con("SocketException: " + e);
                Environment.Exit(0);
            }
            finally
            {
                server?.Stop();
            }

            Write2Con("\nHit enter to continue...");
            Console.Read();
        }
 /// <summary>
 /// Log something
 /// </summary>
 /// <param name="logEntry"><see cref="LogEntry"/> instance to log</param>
 public void Log(LogEntry logEntry)
 {
     if (logEntry.Exception != null && logEntry.Args.Length > 0)
     {
         ExceptionFormatMethods[logEntry.Level](logEntry);
     }
     else if (logEntry.Exception != null)
     {
         ExceptionMethods[logEntry.Level](logEntry);
     }
     else if (logEntry.Args.Length > 0)
     {
         FormatMethods[logEntry.Level](logEntry);
     }
     else
     {
         MessageMethods[logEntry.Level](logEntry);
     }
 }