public TraceData ( |
||
eventCache | ||
source | String | |
eventType | TraceEventType | |
id | int | |
return | void |
public void XPathNavigatorAsData () { // While XmlReader, XmlDocument and XDocument are not supported as direct xml content (i.e. to not get escaped), XPathNavigator is. var sw = new StringWriter (); var xl = new XmlWriterTraceListener (sw); var doc = new XmlDocument (); string xml = "<root><child xmlns=\"urn:foo\">text</child></root>"; doc.LoadXml (xml); xl.TraceData (null, "my source", TraceEventType.Information, 1, doc.CreateNavigator (), doc.CreateNavigator ()); // Note that it does not result in "<root xmlns=''>...". // See XmlWriterTraceListener.TraceCore() for details. Assert.IsTrue (sw.ToString ().IndexOf (xml) > 0, "#1"); Assert.IsTrue (sw.ToString ().IndexOf ("</DataItem><DataItem>") > 0, "#2"); }
public void TraceDataWithCache1 () { StringWriter sw = new StringWriter (); XmlWriterTraceListener x = new XmlWriterTraceListener (sw); TraceEventCache cc = new TraceEventCache (); x.TraceData (cc, null, TraceEventType.Error, 2); x.TraceData (cc, null, TraceEventType.Error, 3); x.Close (); Assert.AreEqual (sample4.Replace ('\'', '"'), sw.ToString ()); }
public void TraceCompareTest() { TraceEventCache eventCache = new TraceEventCache(); string output1 = null; string output2 = null; using (MemoryStream stream1 = new MemoryStream()) { using (TraceListener tracer = new XmlWriterTraceListener(stream1)) { tracer.TraceData(eventCache, "TestSource", TraceEventType.Information, 1, new { Message = "Test of Message", Id = 123 }); tracer.Flush(); //stream.Position = 0; output1 = Encoding.UTF8.GetString(stream1.ToArray()); Trace.WriteLine(output1); } } using (MemoryStream stream2 = new MemoryStream()) { using (TraceListener tracer = new XmlWriterRollingTraceListener(stream2)) { tracer.TraceData(eventCache, "TestSource", TraceEventType.Information, 1, new { Message = "Test of Message", Id = 123 }); tracer.Flush(); //stream.Position = 0; output2 = Encoding.UTF8.GetString(stream2.ToArray()); Trace.WriteLine(output1); } } Assert.AreEqual<string>(output1, output2); }