应用程序洞察:.net core 2.2.0 中已弃用 loggerFactory.AddApplicationInsights

Pra*_*chi 2 .net logging azure azure-application-insights asp.net-core

在 .net core 2.1.1 中,使用以下方式注册应用程序见解:

public void ConfigureServices(IServiceCollection services)
{
    ...
    services.AddApplicationInsightsTelemetry(Configuration); //register InstrumentationKey
    ...
}

 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
 {
     ...
     loggerFactory.AddApplicationInsights(app.ApplicationServices, LogLevel.Information); 
     ...
 }
Run Code Online (Sandbox Code Playgroud)

但是,当我将其包含在 .net core 2.2.0 中时,我收到警告:

“ApplicationInsightsLoggerFactoryExtensions.AddApplicationInsights(ILoggerFactory, IServiceProvider, LogLevel)”已过时:“使用 Microsoft.Extensions.Logging.ApplicationInsightsLoggingBuilderExtensions.AddApplicationInsights 来自 Microsoft.Extensions.Logging.ApplicationInsights 包”

我已经包含了该包Microsoft.Extensions.Logging.ApplicationInsights package并像这样使用:

 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 {
     ...
     ApplicationInsightsLoggingBuilderExtensions.AddApplicationInsights(...//some params//);
     ...
 }
Run Code Online (Sandbox Code Playgroud)

这不允许我定义应用程序洞察的日志记录级别。如何在 .net core 2.2.0 中定义日志记录级别?

Iva*_*ang 5

请看一下这篇文章

如果是.net core web项目,可以使用以下代码在program.cs中设置日志级别:

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
    .UseStartup<Startup>()
    .ConfigureLogging(
        builder =>
        {

            builder.AddApplicationInsights("app insights instrumentation key");

            // You can set log level here
            builder.AddFilter<Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider>
                             ("", LogLevel.Information);
        }
    );
Run Code Online (Sandbox Code Playgroud)