示例#1
0
        public static void RegisterProvider(TelemetryProviderBase telemetryProvider)
        {
            if (telemetryProvider == null)
            {
                throw new ArgumentNullException(nameof(telemetryProvider));
            }

            TelemetryProviders.Add(telemetryProvider);
        }
示例#2
0
        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;
                }
            }
        }