public void MainTest() { bool gotdata = false; string result = null; var appender = new UdpAppender("127.0.0.1", 7072) {AutoFlushSize = 1000}; var task = Task.Run(() => { var data = udpclient.Receive(ref sender); var xml = XElement.Parse(System.Text.Encoding.UTF8.GetString(data)); Console.WriteLine(xml.ToString().Simplify(SimplifyOptions.SingleQuotes)); result = xml.ToString().Simplify(SimplifyOptions.Full); gotdata = true; }); appender.Write(new LoggyMessage(LogLevel.Error, "test") {LoggerName = "mylogger"}); Thread.Sleep(100); Assert.False(task.IsCompleted); Assert.False(gotdata); appender.Flush(); Thread.Sleep(300); Assert.True(gotdata); Assert.True(task.IsCompleted); Assert.True(result.Contains("<message>test</message>")); Assert.True(result.Contains("logger='mylogger'")); }
private ILogAppender BuildUdpAppender(string name, XElement e) { var host = e.Attr("host", "127.0.0.1"); var port = e.Attr("port", "7071").ToInt(); var appender = new UdpAppender(host, port) { Format = e.Attr("format").Replace("%{", "${"), Level = e.Attr("level", "All").To <LogLevel>() }; return(appender); }