public void TraceEventAndTraceData () { StringWriter sw = new StringWriter (); TextWriterTraceListener t = new TextWriterTraceListener (sw); t.TraceEvent (null, null, TraceEventType.Error, 0, null); t.TraceEvent (null, "bulldog", TraceEventType.Error, 0); TraceEventCache cc = new TraceEventCache (); t.TraceData (cc, null, TraceEventType.Error, 0); t.TraceData (cc, null, TraceEventType.Error, 0); t.TraceTransfer (null, "bulldog", 0, "hoge", Guid.Empty); t.Close (); string expected = @" Error: 0 : bulldog Error: 0 : Error: 0 : Error: 0 : bulldog Transfer: 0 : hoge, relatedActivityId=00000000-0000-0000-0000-000000000000 "; Assert.AreEqual (expected, sw.ToString ().Replace ("\r\n", "\n")); }
public void TraceOptionValues () { Assert.AreEqual (TraceOptions.None, new TextWriterTraceListener (TextWriter.Null).TraceOutputOptions, "#1"); Assert.AreEqual (TraceOptions.None, new XmlWriterTraceListener (TextWriter.Null).TraceOutputOptions, "#2"); StringWriter sw = new StringWriter (); TextWriterTraceListener t = new TextWriterTraceListener (sw); Trace.CorrelationManager.StartLogicalOperation ("foo"); Trace.CorrelationManager.StartLogicalOperation ("bar"); t.TraceOutputOptions = TraceOptions.LogicalOperationStack | TraceOptions.DateTime | TraceOptions.Timestamp;// | TraceOptions.ProcessId | TraceOptions.ThreadId | TraceOptions.Callstack; t.TraceEvent (null, null, TraceEventType.Error, 0, null); t.TraceEvent (null, "bulldog", TraceEventType.Error, 0); TraceEventCache cc = new TraceEventCache (); DateTime date = cc.DateTime; long time = cc.Timestamp; t.TraceData (cc, null, TraceEventType.Error, 0); t.TraceData (cc, null, TraceEventType.Error, 0); t.TraceTransfer (null, "bulldog", 0, "hoge", Guid.Empty); Trace.CorrelationManager.StopLogicalOperation (); Trace.CorrelationManager.StopLogicalOperation (); t.Close (); string expected = String.Format (@" Error: 0 : bulldog Error: 0 : Error: 0 : LogicalOperationStack=bar, foo DateTime={0} Timestamp={1}" + /* Callstack= at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) at System.Environment.get_StackTrace() at System.Diagnostics.TraceEventCache.get_Callstack() at System.Diagnostics.TraceListener.WriteFooter(TraceEventCache eventCache) at System.Diagnostics.TraceListener.TraceData(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, Object[] data) at MonoTests.System.Diagnostics.TraceListenerTest.TraceOptionValues() ... */ @" Error: 0 : LogicalOperationStack=bar, foo DateTime={0} Timestamp={1} bulldog Transfer: 0 : hoge, relatedActivityId=00000000-0000-0000-0000-000000000000 ", date.ToString ("o"), time); // date and time are in current culture Assert.AreEqual (expected, sw.ToString ().Replace ("\r\n", "\n")); }