示例#1
0
        private static void Initalize()
        {
            var configuration = TelemetryConfiguration.Active;

            if (configuration.EnableDiagnostics)
            {
                CoreEventSource.Log.Enabled = true;
            }

            if (configuration.Collectors.HasFlag(WindowsCollectors.Metadata))
            {
                configuration.ContextInitializers.Add(new DeviceContextInitializer());
                configuration.ContextInitializers.Add(new ComponentContextInitializer());
                configuration.TelemetryInitializers.Add(new UserContextInitializer());
            }

            configuration.TelemetryChannel = new PersistenceChannel();
            if (!string.IsNullOrEmpty(configuration.EndpointAddress))
            {
                configuration.TelemetryChannel.EndpointAddress = configuration.EndpointAddress;
            }

            TelemetryConfigurationFactory.Instance.Initialize(configuration);
            TelemetryConfiguration.Active = configuration;
            ((HockeyClient)HockeyClient.Current).Initialize();

            if (configuration.Collectors.HasFlag(WindowsCollectors.Session))
            {
                SessionTelemetryModule sessionModule = new SessionTelemetryModule();
                sessionModule.Initialize();
                TelemetryModules.Instance.Modules.Add(sessionModule);
            }

            if (configuration.Collectors.HasFlag(WindowsCollectors.UnhandledException))
            {
                LazyInitializer.EnsureInitialized(ref unhandledExceptionModule,
                                                  () => {
                    var module = ServiceLocator.GetService <IUnhandledExceptionTelemetryModule>();
                    module.Initialize();
                    return(module);
                });

                TelemetryModules.Instance.Modules.Add(unhandledExceptionModule);
            }
        }
        private static void Initalize()
        {
            var configuration = TelemetryConfiguration.Active;
            if (configuration.EnableDiagnostics)
            {
                CoreEventSource.Log.Enabled = true;
            }
            
            if (configuration.Collectors.HasFlag(WindowsCollectors.Metadata))
            {
                configuration.ContextInitializers.Add(new DeviceContextInitializer());
                configuration.ContextInitializers.Add(new ComponentContextInitializer());
                configuration.TelemetryInitializers.Add(new UserContextInitializer());
            }

            configuration.TelemetryChannel = new PersistenceChannel();
            if (!string.IsNullOrEmpty(configuration.EndpointAddress)) 
            {
                configuration.TelemetryChannel.EndpointAddress = configuration.EndpointAddress;
            }

            TelemetryConfigurationFactory.Instance.Initialize(configuration);
            TelemetryConfiguration.Active = configuration;
            ((HockeyClient)HockeyClient.Current).Initialize();

            if (configuration.Collectors.HasFlag(WindowsCollectors.Session))
            {
                SessionTelemetryModule sessionModule = new SessionTelemetryModule();
                sessionModule.Initialize();
                TelemetryModules.Instance.Modules.Add(sessionModule);
            }

            if (configuration.Collectors.HasFlag(WindowsCollectors.UnhandledException))
            {
                LazyInitializer.EnsureInitialized(ref unhandledExceptionModule, 
                    () => {
                        var module = ServiceLocator.GetService<IUnhandledExceptionTelemetryModule>();
                        module.Initialize();
                        return module;
                    });

                TelemetryModules.Instance.Modules.Add(unhandledExceptionModule);
            }
        }