[Test] public void TestNestedNdc()
        {
            // This test can suffer from timing and ordering issues as the RemotingAppender does dispatch events asynchronously

            // Setup the remoting appender
            ConfigureRootAppender(FixFlags.Partial);

            RemoteLoggingSinkImpl.Instance.Reset();

            log4net.Tests.Appender.Remoting.UserInterfaces.TestService t;
            t = new log4net.Tests.Appender.Remoting.UserInterfaces.TestService();
            t.Test();

            // Wait for the remoted objects to be delivered
            System.Threading.Thread.Sleep(3000);

            LoggingEvent[] events = RemoteLoggingSinkImpl.Instance.Events;
            Assert.AreEqual(5, events.Length, "Expect to receive 5 remoted event");

            Assert.AreEqual("begin test", events[0].RenderedMessage, "Verify event 1 RenderedMessage");
            Assert.AreEqual("feature", events[1].RenderedMessage, "Verify event 2 RenderedMessage");
            Assert.AreEqual("return", events[2].RenderedMessage, "Verify event 3 RenderedMessage");
            Assert.AreEqual("return", events[3].RenderedMessage, "Verify event 4 RenderedMessage");
            Assert.AreEqual("end test", events[4].RenderedMessage, "Verify event 5 RenderedMessage");

            Assert.IsNull(events[0].Properties["NDC"], "Verify event 1 Properties");
            Assert.AreEqual("test1", events[1].Properties["NDC"], "Verify event 2 Properties");
            Assert.AreEqual("test1 test2", events[2].Properties["NDC"], "Verify event 3 Properties");
            Assert.AreEqual("test1", events[3].Properties["NDC"], "Verify event 4 Properties");
            Assert.IsNull(events[4].Properties["NDC"], "Verify event 5 Properties");
        }
Пример #2
0
		[Test] public void TestNestedNdc() 
		{
			// This test can suffer from timing and ordering issues as the RemotingAppender does dispatch events asynchronously

			// Setup the remoting appender
			ConfigureRootAppender(FixFlags.Partial);

			RemoteLoggingSinkImpl.Instance.Reset();

			log4net.Tests.Appender.Remoting.UserInterfaces.TestService t;
			t = new log4net.Tests.Appender.Remoting.UserInterfaces.TestService();
			t.Test();

			// Wait for the remoted objects to be delivered
			System.Threading.Thread.Sleep(3000);

			LoggingEvent[] events = RemoteLoggingSinkImpl.Instance.Events;
			Assert.AreEqual(5, events.Length, "Expect to receive 5 remoted event");

			Assert.AreEqual("begin test", events[0].RenderedMessage, "Verify event 1 RenderedMessage");
			Assert.AreEqual("feature", events[1].RenderedMessage, "Verify event 2 RenderedMessage");
			Assert.AreEqual("return", events[2].RenderedMessage, "Verify event 3 RenderedMessage");
			Assert.AreEqual("return", events[3].RenderedMessage, "Verify event 4 RenderedMessage");
			Assert.AreEqual("end test", events[4].RenderedMessage, "Verify event 5 RenderedMessage");

			Assert.IsNull(events[0].Properties["NDC"], "Verify event 1 Properties");
			Assert.AreEqual("test1", events[1].Properties["NDC"], "Verify event 2 Properties");
			Assert.AreEqual("test1 test2", events[2].Properties["NDC"], "Verify event 3 Properties");
			Assert.AreEqual("test1", events[3].Properties["NDC"], "Verify event 4 Properties");
			Assert.IsNull(events[4].Properties["NDC"], "Verify event 5 Properties");
		}