/// <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); }
/// <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; }