/// <summary>
        /// Add application insights.
        /// </summary>
        public static ILoggerFactory AddApplicationInsights(
            this ILoggerFactory factory,
            ApplicationInsightsSettings settings)
        {
            factory.AddProvider(new ApplicationInsightsLoggerProvider(null, settings));

            return(factory);
        }
 /// <summary>
 /// Add application insights.
 /// </summary>
 public static ILoggerFactory AddApplicationInsights(
     this ILoggerFactory factory,
     Func <string, LogLevel, bool> filter,
     ApplicationInsightsSettings settings)
 {
     factory.AddProvider(new ApplicationInsightsLoggerProvider(filter, settings));
     return(factory);
 }
Exemplo n.º 3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ApplicationInsightsLogger"/> class.
        /// </summary>
        public ApplicationInsightsLogger(string name, Func <string, LogLevel, bool> filter, ApplicationInsightsSettings settings)
        {
            _name            = string.IsNullOrEmpty(name) ? nameof(ApplicationInsightsLogger) : name;
            _filter          = filter;
            _telemetryClient = new TelemetryClient();

            if (settings.DeveloperMode.HasValue)
            {
                TelemetryConfiguration.Active.TelemetryChannel.DeveloperMode = settings.DeveloperMode;
            }

            if (settings.DeveloperMode != null && !settings.DeveloperMode.Value)
            {
                if (string.IsNullOrWhiteSpace(settings.InstrumentationKey))
                {
                    throw new ArgumentNullException(nameof(settings.InstrumentationKey));
                }

                TelemetryConfiguration.Active.InstrumentationKey = settings.InstrumentationKey;
                _telemetryClient.InstrumentationKey = settings.InstrumentationKey;
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ApplicationInsightsLoggerProvider" /> class.
 /// </summary>
 public ApplicationInsightsLoggerProvider(Func <string, LogLevel, bool> filter, ApplicationInsightsSettings settings)
 {
     _filter   = filter;
     _settings = settings;
 }