Example #1
0
        public void ShouldFilterLog()
        {
            MockEmailTraceListener listener = new MockEmailTraceListener("[email protected];[email protected]", "*****@*****.**",
                                                                         "EntLib-Logging ->", "has occurred", "smtphost");

            listener.Filter = new EventTypeFilter(SourceLevels.Warning);

            TraceSource source = new TraceSource("unnamed", SourceLevels.Error);

            source.Listeners.Add(listener);

            source.TraceData(TraceEventType.Information, 1, new TestCustomObject());
            source.Close();

            Assert.AreEqual(0, listener.MessagesSent);
        }
        public void ListenerWithParamsWillUseFormatterIfExists()
        {
            MockEmailTraceListener listener = new MockEmailTraceListener("[email protected];[email protected]", "*****@*****.**",
                                                                         "EntLib-Logging ->", "has occurred", "smtphost", new TextFormatter("DUMMY\r\nTime:{timestamp}\r\nMessage:{message}DUMMY"));

            LogEntry entry = new LogEntry("Test Message", "Test Category", 42, 999, TraceEventType.Error, "Test Title", null);
            DateTime messageTimestamp = DateTime.UtcNow;

            LogSource source = new LogSource("notfromconfig", new[] { listener }, SourceLevels.All);
            source.TraceData(TraceEventType.Error, 0, entry);

            Assert.AreEqual("EntLib-Logging -> Error has occurred", lastMailMessageSent.Subject);
            Assert.AreEqual("[email protected]", lastMailMessageSent.To[0].Address);
            Assert.AreEqual("[email protected]", lastMailMessageSent.To[1].Address);
            Assert.AreEqual("*****@*****.**", lastMailMessageSent.From.Address);
            AssertContainsSubstring(lastMailMessageSent.Body, messageTimestamp.ToString());
        }
        public void LogToEmailUsingDirectObjectOnlyResultsInOneMessage()
        {
            MockEmailTraceListener listener = new MockEmailTraceListener("[email protected];[email protected]", "*****@*****.**",
                                                                         "EntLib-Logging ->", "has occurred", "smtphost");

            TraceSource source = new TraceSource("unnamed", SourceLevels.All);

            source.Listeners.Add(listener);

            int numMessages = listener.MessagesSent;

            source.TraceData(TraceEventType.Error, 1, new TestCustomObject());
            source.Close();

            int newNumMessages = listener.MessagesSent;

            Assert.AreEqual(numMessages, newNumMessages - 1);
        }
Example #4
0
        public void ListenerWithParamsWillUseFormatterIfExists()
        {
            MockEmailTraceListener listener = new MockEmailTraceListener("[email protected];[email protected]", "*****@*****.**",
                                                                         "EntLib-Logging ->", "has occurred", "smtphost", new TextFormatter("DUMMY\r\nTime:{timestamp}\r\nMessage:{message}DUMMY"));

            LogEntry entry            = new LogEntry("Test Message", "Test Category", 42, 999, TraceEventType.Error, "Test Title", null);
            DateTime messageTimestamp = DateTime.UtcNow;

            LogSource source = new LogSource("notfromconfig", new[] { listener }, SourceLevels.All);

            source.TraceData(TraceEventType.Error, 0, entry);

            Assert.AreEqual("EntLib-Logging -> Error has occurred", lastMailMessageSent.Subject);
            Assert.AreEqual("[email protected]", lastMailMessageSent.To[0].Address);
            Assert.AreEqual("[email protected]", lastMailMessageSent.To[1].Address);
            Assert.AreEqual("*****@*****.**", lastMailMessageSent.From.Address);
            AssertContainsSubstring(lastMailMessageSent.Body, messageTimestamp.ToString());
        }
        public void ListenerWillFallbackToTraceEntryMessageIfFormatterDoesNotExists()
        {
            MockEmailTraceListener listener = new MockEmailTraceListener("[email protected];[email protected]", "*****@*****.**",
                                        "EntLib-Logging ->", "has occurred", "smtphost");

            LogEntry entry = new LogEntry("Test Message", "Test Category", 42, 999, TraceEventType.Error, "Test Title", null);
            DateTime messageTimestamp = DateTime.UtcNow;

            LogSource source = new LogSource("notfromconfig", SourceLevels.All);
            source.Listeners.Add(listener);
            source.TraceData(TraceEventType.Error, 0, entry);

            Assert.AreEqual("EntLib-Logging -> Error has occurred", lastMailMessageSent.Subject);
            Assert.AreEqual("[email protected]", lastMailMessageSent.To[0].Address);
            Assert.AreEqual("[email protected]", lastMailMessageSent.To[1].Address);
            Assert.AreEqual("*****@*****.**", lastMailMessageSent.From.Address);
            AssertContainsSubstring(lastMailMessageSent.Body, "Test Message");
        }
        public void ListenerWillFallbackToTraceEntryMessageIfFormatterDoesNotExists()
        {
            MockEmailTraceListener listener = new MockEmailTraceListener("[email protected];[email protected]", "*****@*****.**",
                                                                         "EntLib-Logging ->", "has occurred", "smtphost");

            LogEntry entry            = new LogEntry("Test Message", "Test Category", 42, 999, TraceEventType.Error, "Test Title", null);
            DateTime messageTimestamp = DateTime.UtcNow;

            LogSource source = new LogSource("notfromconfig", SourceLevels.All);

            source.Listeners.Add(listener);
            source.TraceData(TraceEventType.Error, 0, entry);

            Assert.AreEqual("EntLib-Logging -> Error has occurred", lastMailMessageSent.Subject);
            Assert.AreEqual("[email protected]", lastMailMessageSent.To[0].Address);
            Assert.AreEqual("[email protected]", lastMailMessageSent.To[1].Address);
            Assert.AreEqual("*****@*****.**", lastMailMessageSent.From.Address);
            AssertContainsSubstring(lastMailMessageSent.Body, "Test Message");
        }
        public void LogToEmailUsingDirectObjectOnlyResultsInOneMessage()
        {
            MockEmailTraceListener listener = new MockEmailTraceListener("[email protected];[email protected]", "*****@*****.**",
                                        "EntLib-Logging ->", "has occurred", "smtphost");

            TraceSource source = new TraceSource("unnamed", SourceLevels.All);
            source.Listeners.Add(listener);

            int numMessages = listener.MessagesSent;

            source.TraceData(TraceEventType.Error, 1, new TestCustomObject());
            source.Close();

            int newNumMessages = listener.MessagesSent;

            Assert.AreEqual(numMessages, newNumMessages - 1);
        }
        public void ShouldFilterLog()
        {
            MockEmailTraceListener listener = new MockEmailTraceListener("[email protected];[email protected]", "*****@*****.**",
                                                                         "EntLib-Logging ->", "has occurred", "smtphost");

            listener.Filter = new EventTypeFilter(SourceLevels.Warning);

            TraceSource source = new TraceSource("unnamed", SourceLevels.Error);
            source.Listeners.Add(listener);

            source.TraceData(TraceEventType.Information, 1, new TestCustomObject());
            source.Close();

            Assert.AreEqual(0, listener.MessagesSent);
        }