void CreateAppender()
        {
            var layout = new PatternLayout("%.255message");

            layout.ActivateOptions();

            var appender = new RemoteSyslog5424Appender("localhost", Port, @"Certificate\test.cer")
            {
                Layout  = layout,
                AppName = typeof(RemoteSyslog5424AppenderTest).Name
            };

            appender.ActivateOptions();

            var diagAppender = new TraceAppender
            {
                Layout = layout,
                Name   = "RemoteSyslog5424AppenderDiagLogger",
            };

            diagAppender.ActivateOptions();

            BasicConfigurator.Configure(diagAppender, appender);

            _appender = appender;
            _log      = LogManager.GetLogger(typeof(RemoteSyslog5424AppenderTest));
        }
        static void Main(string[] args)
        {
            try
            {
                XmlConfigurator.Configure();

                var logJson  = LogManager.GetLogger("RemoteSyslog5424_Json");
                var logPlain = LogManager.GetLogger("RemoteSyslog5424_Plain");

                AppDomain.CurrentDomain.UnhandledException +=
                    (sender, eventArgs) => Console.WriteLine(eventArgs.ExceptionObject.ToString());

                Console.WriteLine("Writing logs...\n\n");

                var logs = new List <string>
                {
                    "I'm broken. Please show this to someone who can fix me.",
                    "An error has occured on the error logging device.",
                    "Error ocurred when attempting to print error message."
                };

                try
                {
                    throw new ApplicationException("Test exception");
                }
                catch (Exception exc)
                {
                    logJson.Error(exc);
                    logPlain.Error(exc);
                }

                for (var i = 0; i < logs.Count; i++)
                {
                    var id      = string.Format("{0}_{1}", i, Guid.NewGuid());
                    var message = logs[i] + " " + id;

                    logJson.Error(
                        new {
                        Message = message,
                        Id      = id,
                    });

                    logPlain.Error(message);
                }

                Console.WriteLine("\n\nPress a key to exit.");
                Console.ReadKey();

                RemoteSyslog5424Appender.Flush("RemoteAppenderJson");
                RemoteSyslog5424Appender.Flush("RemoteAppenderPlain");
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc);
                if (Debugger.IsAttached)
                {
                    Debugger.Break();
                }
            }
        }