private void UpdateTrace(ConfigurationDocument traceConfigDoc) { List <TraceComponentInfo> enabledComponentsFromFile; List <TraceComponentInfo> enabledComponentsFromFile2; if (traceConfigDoc.FilteredTracingEnabled) { enabledComponentsFromFile = traceConfigDoc.BypassFilterEnabledComponentsList; enabledComponentsFromFile2 = traceConfigDoc.EnabledComponentsList; } else { enabledComponentsFromFile = traceConfigDoc.EnabledComponentsList; enabledComponentsFromFile2 = new List <TraceComponentInfo>(); } this.UpdateComponentsState(enabledComponentsFromFile, this.componentDictionary); this.UpdateComponentsState(enabledComponentsFromFile2, this.perThreadModeComponentDictionary); traceConfigDoc.GetEnabledTypes(this.typeFlags, false); this.perThreadTracingConfigured = traceConfigDoc.FilteredTracingEnabled; this.customParameters = traceConfigDoc.CustomParameters; this.consoleTracingEnabled = traceConfigDoc.ConsoleTracingEnabled; this.systemDiagnosticsTracingEnabled = traceConfigDoc.SystemDiagnosticsTracingEnabled; bool anyExchangeTracingProvidersEnabled = ETWTrace.IsEnabled || this.InMemoryTracingEnabled || this.ConsoleTracingEnabled || this.SystemDiagnosticsTracingEnabled || this.FaultInjectionConfiguration.Count > 0; SystemTraceControl.Update(this.componentDictionary, this.EnabledTypesArray(), anyExchangeTracingProvidersEnabled); this.version++; }
public static void Update(Dictionary <Guid, BitArray> componentDictionary, BitArray enabledTypes, bool anyExchangeTracingProvidersEnabled) { BitArray bitArray; if (componentDictionary.TryGetValue(SystemLoggingTags.guid, out bitArray)) { SourceLevels currentTraceLevel = SystemTraceControl.GetCurrentTraceLevel(enabledTypes); SystemNetLogging.Instance.SourceLevels = currentTraceLevel; SystemNetLogging.Instance.Enabled = ((bitArray.Get(0) || bitArray.Get(1) || bitArray.Get(2)) && anyExchangeTracingProvidersEnabled); DiagnosticTraceLogging.SystemIdentityModel.SourceLevels = currentTraceLevel; DiagnosticTraceLogging.SystemIdentityModel.Enabled = (bitArray.Get(3) && anyExchangeTracingProvidersEnabled); DiagnosticTraceLogging.SystemServiceModel.SourceLevels = currentTraceLevel; DiagnosticTraceLogging.SystemServiceModel.Enabled = (bitArray.Get(4) && anyExchangeTracingProvidersEnabled); SystemServiceModelMessageLogging.Instance.SourceLevels = currentTraceLevel; SystemServiceModelMessageLogging.Instance.Enabled = anyExchangeTracingProvidersEnabled; SystemServiceModelMessageLogging.Instance.LogMalformedMessages = bitArray.Get(6); SystemServiceModelMessageLogging.Instance.LogMessagesAtServiceLevel = bitArray.Get(7); SystemServiceModelMessageLogging.Instance.LogMessagesAtTransportLevel = bitArray.Get(8); SystemServiceModelMessageLogging.Instance.LogMessageBody = bitArray.Get(9); } }