public void FullTextFormatter_FormatToTextWriter_ContainsCustomProperties() { var rendererMap = new ScribeSharp.PropertyRenderers.TypeRendererMap(new KeyValuePair <Type, IPropertyRenderer>(typeof(Exception), new PropertyRenderers.ExceptionAsXmlRenderer())); var formatter = new FullTextLogEventFormatter(rendererMap); var logEvent = new LogEvent() { EventName = "Test log event.", Source = "TestSource", SourceMethod = "TestSourceMethod", SourceLineNumber = 50, DateTime = new DateTime(2016, 05, 08, 12, 15, 36), EventSeverity = LogEventSeverity.Diagnostic, EventType = LogEventType.Start, Properties = new Dictionary <string, object>() { { "Test Property", "Test Value" } } }; var sb = new System.Text.StringBuilder(); using (var writer = new System.IO.StringWriter(sb)) { formatter.FormatToTextWriter(logEvent, writer); Assert.IsTrue(sb.ToString().Contains("Properties:")); Assert.IsTrue(sb.ToString().Contains("Test Property: Test Value")); } }
public void FullTextFormatter_FormatToString_ContainsEventName() { var rendererMap = new ScribeSharp.PropertyRenderers.TypeRendererMap(new KeyValuePair <Type, IPropertyRenderer>(typeof(Exception), new PropertyRenderers.ExceptionAsXmlRenderer())); var formatter = new FullTextLogEventFormatter(rendererMap); var logEvent = new LogEvent() { EventName = "Test log event." }; var result = formatter.FormatToString(logEvent); Assert.IsTrue(result.Contains("Event Name: Test log event.")); }
public void SimpleLogEventFormatter_FormatToString_WritesExpectedOutput() { var typeRendererMap = new ScribeSharp.PropertyRenderers.TypeRendererMap(new KeyValuePair <Type, IPropertyRenderer>(typeof(Exception), new PropertyRenderers.ExceptionAsXmlRenderer())); var formatter = new SimpleLogEventFormatter(typeRendererMap); var logEvent = new LogEvent() { EventName = "Test log event.", Source = "Test Source" }; Assert.AreEqual("[01/01/0001 00:00:00] [Information] [ApplicationEvent] [Test Source] [] Test log event.\r\n", formatter.FormatToString(logEvent)); }
public void FullTextFormatter_FormatToString_UsesExceptionFormatter() { var rendererMap = new ScribeSharp.PropertyRenderers.TypeRendererMap(new KeyValuePair <Type, IPropertyRenderer>(typeof(Exception), new PropertyRenderers.ExceptionAsXmlRenderer())); var formatter = new FullTextLogEventFormatter(rendererMap); var logEvent = new LogEvent() { EventName = "Test log event.", Exception = new System.InvalidOperationException() }; var result = formatter.FormatToString(logEvent); var exceptionData = logEvent.Exception.ToXml(); Assert.IsTrue(result.Contains(exceptionData)); }
public void FullTextFormatter_FormatToString_ContainsDateTime() { var rendererMap = new ScribeSharp.PropertyRenderers.TypeRendererMap(new KeyValuePair <Type, IPropertyRenderer>(typeof(Exception), new PropertyRenderers.ExceptionAsXmlRenderer())); var formatter = new FullTextLogEventFormatter(rendererMap); var logEvent = new LogEvent() { EventName = "Test log event.", Source = "TestSource", SourceMethod = "TestSourceMethod", SourceLineNumber = 50, DateTime = new DateTime(2016, 05, 08, 12, 15, 36) }; var result = formatter.FormatToString(logEvent); Assert.IsTrue(result.Contains("Date: " + logEvent.DateTime.ToString("G", System.Globalization.CultureInfo.InvariantCulture))); }
public void FullTextFormatter_FormatToTextWriter_ContainsEventName() { var rendererMap = new ScribeSharp.PropertyRenderers.TypeRendererMap(new KeyValuePair <Type, IPropertyRenderer>(typeof(Exception), new PropertyRenderers.ExceptionAsXmlRenderer())); var formatter = new FullTextLogEventFormatter(rendererMap); var logEvent = new LogEvent() { EventName = "Test log event." }; var sb = new System.Text.StringBuilder(); using (var writer = new System.IO.StringWriter(sb)) { formatter.FormatToTextWriter(logEvent, writer); Assert.IsTrue(sb.ToString().Contains("Event Name: Test log event.")); } }
public void FullTextFormatter_FormatToString_FormatsPropertiesToOwnLines() { var rendererMap = new ScribeSharp.PropertyRenderers.TypeRendererMap(new KeyValuePair <Type, IPropertyRenderer>(typeof(Exception), new PropertyRenderers.ExceptionAsXmlRenderer())); var formatter = new FullTextLogEventFormatter(rendererMap); var logEvent = new LogEvent() { EventName = "Test log event.", Properties = new Dictionary <string, object>() }; logEvent.Properties.Add("Property 1", "Value 1"); logEvent.Properties.Add("Property 2", "Value 2"); var result = formatter.FormatToString(logEvent); Assert.IsTrue(result.Trim().EndsWith(Environment.NewLine + "Property 1: Value 1" + Environment.NewLine + "Property 2: Value 2")); }
public void FullTextFormatter_FormatToString_ContainsSeverity() { var rendererMap = new ScribeSharp.PropertyRenderers.TypeRendererMap(new KeyValuePair <Type, IPropertyRenderer>(typeof(Exception), new PropertyRenderers.ExceptionAsXmlRenderer())); var formatter = new FullTextLogEventFormatter(rendererMap); var logEvent = new LogEvent() { EventName = "Test log event.", Source = "TestSource", SourceMethod = "TestSourceMethod", SourceLineNumber = 50, DateTime = new DateTime(2016, 05, 08, 12, 15, 36), EventSeverity = LogEventSeverity.Diagnostic }; var result = formatter.FormatToString(logEvent); Assert.IsTrue(result.Contains("Severity: Diagnostic")); }
public void SimpleLogEventFormatter_FormatToWriter_WritesExpectedOutput() { var typeRendererMap = new ScribeSharp.PropertyRenderers.TypeRendererMap(new KeyValuePair <Type, IPropertyRenderer>(typeof(Exception), new PropertyRenderers.ExceptionAsXmlRenderer())); var formatter = new SimpleLogEventFormatter(typeRendererMap); var logEvent = new LogEvent() { EventName = "Test log event.", Source = "Test Source" }; var sb = new System.Text.StringBuilder(); using (var writer = new System.IO.StringWriter(sb)) { formatter.FormatToTextWriter(logEvent, writer); Assert.AreEqual("[01/01/0001 00:00:00] [Information] [ApplicationEvent] [Test Source] [] Test log event.\r\n", sb.ToString()); } }
public void XmlLogEventFormatter_FormatToWriter_FormatsExpectedOutput() { var logEvent = new LogEvent() { EventName = "Test event log.", Source = "Test Source", Properties = new Dictionary <string, object>() { { "Test Property", "Test Value" } }, Exception = new System.InvalidOperationException() }; var rendererMap = new ScribeSharp.PropertyRenderers.TypeRendererMap(new KeyValuePair <Type, IPropertyRenderer>(typeof(Exception), new PropertyRenderers.ExceptionAsXmlRenderer())); var formatter = new XmlLogEventFormatter(rendererMap); var sb = new StringBuilder(); using (var writer = new System.IO.StringWriter(sb)) { formatter.FormatToTextWriter(logEvent, writer); var xdoc = System.Xml.Linq.XDocument.Parse(sb.ToString()); Assert.AreEqual("Test event log.", (from n in xdoc.Descendants("EventName") select n).First().Value); var eventNode = (from n in xdoc.Descendants("LogEvent") select n).First(); Assert.AreEqual(LogEventSeverity.Information.ToString(), eventNode.Attribute("Severity").Value); Assert.AreEqual((int)LogEventSeverity.Information, Convert.ToInt32(eventNode.Attribute("SeverityLevel").Value)); Assert.AreEqual(LogEventType.ApplicationEvent.ToString(), eventNode.Attribute("EventType").Value); Assert.AreEqual("Test Source", eventNode.Attribute("Source").Value); Assert.AreEqual(logEvent.DateTime.ToString("O", System.Globalization.CultureInfo.CurrentCulture), eventNode.Attribute("EventDate").Value); var propNode = (from n in xdoc.Descendants("Property") where n.Attribute("Key")?.Value == "Test Property" select n).First(); Assert.AreEqual("Test Value", propNode.Attribute("Value").Value); var exceptionNode = (from n in xdoc.Descendants("Exception") select n).First(); Assert.AreEqual("System.InvalidOperationException", exceptionNode.Attribute("Type").Value); Assert.AreEqual("Operation is not valid due to the current state of the object.", exceptionNode.Descendants("Message").First().Value); } }
public void SimpleLogEventFormatter_Constructor_ConstructsOkWithValidTypeRendererMap() { var typeRendererMap = new ScribeSharp.PropertyRenderers.TypeRendererMap(new KeyValuePair <Type, IPropertyRenderer>(typeof(Exception), new PropertyRenderers.ExceptionAsXmlRenderer())); var formatter = new SimpleLogEventFormatter(typeRendererMap); }