public void GetEntriesTest() { XElement[] actual; InMemoryTraceListener_Accessor.entries = new System.Collections.Concurrent.ConcurrentQueue <XElement>(); InMemoryTraceListener target = new InMemoryTraceListener(); target.Write("System.ServiceModel Information: 1 : "); target.WriteLine("<TraceRecord xmlns=\"http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord\" Severity=\"Information\"><TraceIdentifier>http://msdn.microsoft.com/en-US/library/System.ServiceModel.Security.SecurityImpersonationSuccess.aspx</TraceIdentifier><Description>Security Impersonation succeeded at the server.</Description><AppDomain>/LM/W3SVC/1/ROOT/riatracing-1-129141143812693125</AppDomain><ExtendedData xmlns=\"http://schemas.microsoft.com/2006/08/ServiceModel/SecurityImpersonationTraceRecord\"><OperationAction>http://tempuri.org/WcfTraceService/GetTrace</OperationAction><OperationName>GetTrace</OperationName></ExtendedData></TraceRecord>"); target.Write("System.ServiceModel Information: 2 : "); target.WriteLine(""); target.WriteLine("<TraceRecord xmlns=\"http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord\" Severity=\"Information\"><TraceIdentifier>http://msdn.microsoft.com/en-US/library/System.ServiceModel.Security.SecurityImpersonationSuccess.aspx</TraceIdentifier><Description>Security Impersonation succeeded at the server.</Description><AppDomain>/LM/W3SVC/1/ROOT/riatracing-1-129141143812693125</AppDomain><ExtendedData xmlns=\"http://schemas.microsoft.com/2006/08/ServiceModel/SecurityImpersonationTraceRecord\"><OperationAction>http://tempuri.org/WcfTraceService/GetTrace</OperationAction><OperationName>GetTrace</OperationName></ExtendedData></TraceRecord>"); target.Write("boo"); target.WriteLine("foobarbaz"); target.Write("System.ServiceModel Information: 3 : "); target.WriteLine("<TraceRecord xmlns=\"http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord\" Severity=\"Information\"><TraceIdentifier>http://msdn.microsoft.com/en-US/library/System.ServiceModel.Security.SecurityImpersonationSuccess.aspx</TraceIdentifier><Description>Security Impersonation succeeded at the server.</Description><AppDomain>/LM/W3SVC/1/ROOT/riatracing-1-129141143812693125</AppDomain><ExtendedData xmlns=\"http://schemas.microsoft.com/2006/08/ServiceModel/SecurityImpersonationTraceRecord\"><OperationAction>http://tempuri.org/WcfTraceService/GetTrace</OperationAction><OperationName>GetTrace</OperationName></ExtendedData></TraceRecord>"); actual = InMemoryTraceListener_Accessor.GetEntries(); Assert.IsNotNull(actual); Assert.IsTrue(actual.Length == 3); int lastEntryCode = 4; foreach (XElement entry in actual) { int currentEntryCode = Int32.Parse(entry.Descendants().First(x => x.Name.LocalName == "Code").Value); Assert.IsTrue(currentEntryCode < lastEntryCode); lastEntryCode = currentEntryCode; } }
public void InMemoryTraceListenerConstructorTest() { string name = "foo"; InMemoryTraceListener target = new InMemoryTraceListener(name); Assert.IsTrue(target.Name == name); }
public static Dashboard Start(string binding = "http://localhost:12345") { var listener = new InMemoryTraceListener(); Trace.Listeners.Add(listener); var webapp = WebApp.Start(binding, app => { app.Use(typeof(LoggingDisplayMiddleware), listener); }); Trace.TraceInformation("Dashboard started at " + binding); return new Dashboard(listener, webapp); }
public void MemoryRecordsTraceEventSentDirectly() { var listener = new InMemoryTraceListener(); listener.TraceEvent(null, "Source", TraceEventType.Warning, 1, "{0}-{1}", 2, "A"); var events = listener.GetEvents(); Assert.AreEqual(1, events.Length); Assert.AreEqual("Source", events[0].Source); Assert.AreEqual(1, events[0].Id); Assert.AreEqual("2-A", events[0].Message); }
public void MemoryOverwriteWhenMoreTracesThanLimit() { var listener = new InMemoryTraceListener(6); for (var count = 1; count <= 15; count++) { listener.TraceEvent(null, "Source", TraceEventType.Warning, count, ""); } var events = listener.GetEvents(); Assert.AreEqual(6, events.Length); Assert.AreEqual(10, events[0].Id); Assert.AreEqual(15, events[5].Id); }
public void Dispose() { InMemoryTraceListener.ClearLogMessages(); Trace.Listeners.Remove(InMemoryTraceListener.Instance); }