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++;
        }
Exemplo n.º 2
0
        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);
            }
        }