コード例 #1
0
ファイル: TraceCore.cs プロジェクト: YunLi1988/ServiceBusFake
        private static bool WriteEtwEvent(DiagnosticTrace trace, int eventIndex, string eventParam0, string eventParam1)
        {
            TraceCore.EnsureEventDescriptors();
            EtwProvider etwProvider = trace.EtwProvider;

            object[] objArray = new object[] { eventParam0, eventParam1 };
            return(etwProvider.WriteEvent(ref TraceCore.eventDescriptors[eventIndex], objArray));
        }
コード例 #2
0
ファイル: EtwProviders.cs プロジェクト: Phrohdoh/TraceSpy
 private static ListViewItem GetItem(EtwProvider provider)
 {
     ListViewItem item = new ListViewItem(provider.Active.ToString());
     item.SubItems.Add(provider.ProviderGuid.ToString());
     item.SubItems.Add(provider.Description ?? string.Empty);
     item.SubItems.Add(provider.TraceLevel.ToString());
     item.Tag = provider;
     return item;
 }
 private void AreEqual(EtwProvider exp, EtwProvider act)
 {
     if (exp != null)
     {
         Assert.Equal(exp.DefaultDestination, act.DefaultDestination);
         AreEqual(exp.Events, act.Events);
         Assert.Equal(exp.Provider, act.Provider);
         Assert.Equal(exp.ScheduledTransferKeywordFilter, act.ScheduledTransferKeywordFilter);
         Assert.Equal(exp.ScheduledTransferLogLevelFilter, act.ScheduledTransferLogLevelFilter);
         Assert.Equal(exp.ScheduledTransferPeriod, act.ScheduledTransferPeriod);
     }
 }
コード例 #4
0
ファイル: DiagnosticTrace.cs プロジェクト: nuxleus/WCFWeb
        public DiagnosticTrace(string traceSourceName, Guid etwProviderId)
        {
            try
            {
                this.thisLock        = new object();
                this.TraceSourceName = traceSourceName;
                this.eventSourceName = string.Concat(this.TraceSourceName, " ", EventSourceVersion);
                this.LastFailure     = DateTime.MinValue;

                CreateTraceSource();
            }
            catch (Exception exception)
            {
                if (Fx.IsFatal(exception))
                {
                    throw;
                }

#pragma warning disable 618
                EventLogger logger = new EventLogger(this.eventSourceName, null);
                logger.LogEvent(TraceEventType.Error, TracingEventLogCategory, (uint)EventLogEventId.FailedToSetupTracing, false,
                                exception.ToString());
#pragma warning restore 618
            }

            try
            {
                CreateEtwProvider(etwProviderId);
            }
            catch (Exception exception)
            {
                if (Fx.IsFatal(exception))
                {
                    throw;
                }

                this.etwProvider = null;
#pragma warning disable 618
                EventLogger logger = new EventLogger(this.eventSourceName, null);
                logger.LogEvent(TraceEventType.Error, TracingEventLogCategory, (uint)EventLogEventId.FailedToSetupTracing, false,
                                exception.ToString());
#pragma warning restore 618
            }

            if (this.TracingEnabled || this.EtwTracingEnabled)
            {
#pragma warning disable 618
                this.AddDomainEventHandlersForCleanup();
#pragma warning restore 618
            }
        }
コード例 #5
0
ファイル: DiagnosticTrace.cs プロジェクト: nuxleus/WCFWeb
 void CreateEtwProvider(Guid etwProviderId)
 {
     if (etwProviderId != Guid.Empty && DiagnosticTrace.isVistaOrGreater)
     {
         //Pick EtwProvider from cache, add to cache if not found
         this.etwProvider = (EtwProvider)etwProviderCache[etwProviderId];
         if (this.etwProvider == null)
         {
             lock (etwProviderCache)
             {
                 this.etwProvider = (EtwProvider)etwProviderCache[etwProviderId];
                 if (this.etwProvider == null)
                 {
                     this.etwProvider = new EtwProvider(etwProviderId);
                     etwProviderCache.Add(etwProviderId, this.etwProvider);
                 }
             }
         }
     }
 }
コード例 #6
0
ファイル: EtwProviderEdit.cs プロジェクト: Phrohdoh/TraceSpy
        public EtwProviderEdit(EtwProvider provider)
        {
            if (provider == null)
            {
                provider = new EtwProvider();
            }

            EtwProvider = provider;
            InitializeComponent();

            comboBoxLevels.DrawMode = DrawMode.OwnerDrawVariable;
            comboBoxLevels.MeasureItem += OnComboBoxLevelsMeasureItem;
            comboBoxLevels.DrawItem += OnComboBoxLevelsDrawItem;

            textBoxGuid.Text = provider.ProviderGuid.ToString();
            textBoxDescription.Text = provider.Description;
            checkBoxActive.Checked = provider.Active;

            LoadLevels();
            UpdateControls();
        }
コード例 #7
0
ファイル: EtwProviders.cs プロジェクト: Phrohdoh/TraceSpy
 private EtwProvider GetExisting(EtwProvider provider)
 {
     return AllEtwProviders.FirstOrDefault(f => f.Equals(provider));
 }