internal static void RegisterDiagnosticsComponents() { ExchangeDiagnosticsSection config = ExchangeDiagnosticsSection.GetConfig(); ExTraceGlobals.CommonTracer.TraceInformation <int>(0, 0L, "ExchangeDiagnosticsHelper::RegisterDiagnosticsComponents called. No of Component:{0}", config.DiagnosticComponents.Count); foreach (object obj in config.DiagnosticComponents) { DiagnosticsComponent diagnosticsComponent = (DiagnosticsComponent)obj; ExTraceGlobals.CommonTracer.TraceDebug(0L, "ExchangeDiagnosticsHelper::RegisterDiagnosticsComponents ComponentName:{0}, Type:{1}, MethodName:{2}, Argument:{3}", new object[] { diagnosticsComponent.Name, diagnosticsComponent.Implementation, diagnosticsComponent.MethodName, diagnosticsComponent.Argument }); IDiagnosable instance = ExchangeDiagnosticsHelper.GetInstance(diagnosticsComponent); if (diagnosticsComponent.Data != null) { IDiagnosableExtraData diagnosableExtraData = instance as IDiagnosableExtraData; if (diagnosableExtraData != null) { diagnosableExtraData.SetData(diagnosticsComponent.Data); } } ExchangeDiagnosticsHelper.RegisterDiagnosticsComponents(instance); } }
public static void Register() { if (!AuditHealthHandler.isRegistered) { AuditHealthHandler.isRegistered = true; ExchangeDiagnosticsHelper.RegisterDiagnosticsComponents(AuditHealthHandler.Instance); } }