public static void RegisterProvider(TelemetryProviderBase telemetryProvider) { if (telemetryProvider == null) { throw new ArgumentNullException(nameof(telemetryProvider)); } TelemetryProviders.Add(telemetryProvider); }
private static void DoTrackEvent(string telemetryEvent, Dictionary <string, string> eventCustomData) { var providers = TelemetryProviders.ToArray(); foreach (var provider in providers) { try { provider.TrackEvent(telemetryEvent, eventCustomData, EventContext); } catch (Exception ex) { _logger.LogDebug(ex, $"Telemetry event '{telemetryEvent.ToString()}' has not been processed by '{provider.GetType()}' provider.{Environment.NewLine}"); return; } } }