Exemplo n.º 1
0
        public void TestCreateSingleFixedEventXml()
        {
            ILayout layout = log4net.Appender.HtmlSmtpAppender.MakeLayout();
            var     events = new[]
            {
                new LoggingEvent(
                    Log.GetType(),
                    LogManager.GetRepository(Assembly.GetCallingAssembly()),
                    new LoggingEventData
                {
                    Message    = "This is a sample message",
                    Level      = Level.Critical,
                    TimeStamp  = DateTime.UtcNow,
                    ThreadName = "None",
                }),
            };

            events[0].Fix = FixFlags.All;

            // Make the XML
            string xml = log4net.Appender.HtmlSmtpAppender.MakeBodyXml(layout, events);

            Log.InfoFormat("XML (in canonical form) is '{0}'", xml);

            // Verify the genrated XML can be loaded into a document
            new XmlDocument().LoadXml(xml);
            Log.Info(PrettyPrintXml.ToString(xml));
        }
Exemplo n.º 2
0
        public void TestCreateMultipleEventXml()
        {
            ILayout layout = log4net.Appender.HtmlSmtpAppender.MakeLayout();
            var     events = new[]
            {
                new LoggingEvent(
                    Log.GetType(),
                    LogManager.GetRepository(Assembly.GetCallingAssembly()),
                    new LoggingEventData
                {
                    Message    = "This is a sample first message",
                    Level      = Level.Critical,
                    TimeStamp  = DateTime.UtcNow,
                    ThreadName = "None",
                }),
                new LoggingEvent(
                    Log.GetType(),
                    LogManager.GetRepository(Assembly.GetCallingAssembly()),
                    new LoggingEventData
                {
                    Message    = "This is a sample second message",
                    Level      = Level.Warn,
                    TimeStamp  = DateTime.UtcNow,
                    ThreadName = "None",
                }),
                new LoggingEvent(
                    Log.GetType(),
                    LogManager.GetRepository(Assembly.GetCallingAssembly()),
                    Log.Logger.Name,
                    Level.Emergency,
                    "This is the third same message",
                    new ArgumentException("Sample exception")),
            };

            // Make the XML
            string xml = log4net.Appender.HtmlSmtpAppender.MakeBodyXml(layout, events);

            Log.InfoFormat("XML (in canonical form) is '{0}'", xml);

            // Verify the genrated XML can be loaded into a document
            new XmlDocument().LoadXml(xml);
            Log.Info(PrettyPrintXml.ToString(xml));
        }
Exemplo n.º 3
0
        public void TestCreateSingleEventWithException()
        {
            ILayout layout = log4net.Appender.HtmlSmtpAppender.MakeLayout();
            var     events = new[]
            {
                new LoggingEvent(
                    Log.GetType(),
                    LogManager.GetRepository(Assembly.GetCallingAssembly()),
                    new LoggingEventData
                {
                    Message    = @"
                            This is a
                             sample event 
                              with new lines.",
                    Level      = Level.Critical,
                    TimeStamp  = DateTime.UtcNow,
                    ThreadName = "None",
                }),
            };

            events[0].Fix = FixFlags.All;

            // Make the XML
            string xml = log4net.Appender.HtmlSmtpAppender.MakeBodyXml(layout, events);

            Log.InfoFormat("XML (in canonical form) is '{0}'", xml);
            Log.Info(PrettyPrintXml.ToString(xml));

            // Verify the genrated XML can be loaded into a document
            var xmlDoc = new XmlDocument();

            xmlDoc.LoadXml(xml);

            // Check that the message XML contains a new line, and it's the
            // same as the original message text
            var xmlMessage = xmlDoc.SelectSingleNode("log4net/events/event/message").InnerText;

            Assert.IsTrue(xmlMessage.Contains("\n"));
            Assert.AreEqual(events[0].GetLoggingEventData().Message, xmlMessage);
        }