public static void Main(string[] args) { var originalPrincipal = Thread.CurrentPrincipal; try { Thread.CurrentPrincipal = new GenericPrincipal(new GenericIdentity("User1"), new string[0]); Trace.CorrelationManager.StartLogicalOperation("Started=true"); Trace.CorrelationManager.StartLogicalOperation("UserId=1"); Trace.CorrelationManager.ActivityId = Guid.NewGuid(); // Trace Data var data = new object[] { "TraceData", TimeZoneInfo.Local.BaseUtcOffset }; trace.TraceData(TraceEventType.Verbose, 6001, data); // Trace Transfer var newActivityId = Guid.NewGuid(); trace.TraceTransfer(0, "TraceTransfer", newActivityId); Trace.CorrelationManager.ActivityId = newActivityId; // Trace Event Thread.CurrentThread.Name = "MyThread"; trace.TraceEvent(TraceEventType.Information, 7001, "TraceEvent"); } finally { Thread.CurrentPrincipal = originalPrincipal; } Console.ReadLine(); }
private void StartScope() { // Log Transfer In (on original activity) Guid newActivity = Guid.NewGuid(); if (_source != null) { _source.TraceTransfer(_transferInId, _transferInMessage, newActivity); } // Change to scope ActivityId Trace.CorrelationManager.ActivityId = newActivity; // Log Start Message (first message on scope activity) if (_source != null) { if (_activityName == null) { _source.TraceEvent(TraceEventType.Start, _startId, _startMessage); } else { //var xml = string.Format(TraceRecordXmlTemplate, // SecurityElement.Escape(_startMessage), // SecurityElement.Escape(AppDomain.CurrentDomain.FriendlyName), // SecurityElement.Escape(_activityName) //); var xml = TraceRecordXmlTemplate; var doc = new XmlDocument(); doc.LoadXml(xml); doc.ChildNodes[0].ChildNodes[1].InnerText = _startMessage; doc.ChildNodes[0].ChildNodes[2].InnerText = AppDomain.CurrentDomain.FriendlyName; doc.ChildNodes[0].ChildNodes[3].ChildNodes[0].InnerText = _activityName; _source.TraceData(TraceEventType.Start, _startId, doc.CreateNavigator()); } } }