应用程序见解:.net core 2.2.0中不推荐使用loggerFactory.AddApplicationInsights

问题描述 投票:0回答:1

在.net核心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); 
     ...
 }

但是,当我在.net核心2.2.0中包含它时,我收到警告:

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

我已经包括Microsoft.Extensions.Logging.ApplicationInsights package包并使用如下:

 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 {
     ...
     ApplicationInsightsLoggingBuilderExtensions.AddApplicationInsights(...//some params//);
     ...
 }

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

.net azure logging asp.net-core azure-application-insights
1个回答
1
投票

请看看这个article

如果它是.net核心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);
        }
    );
© www.soinside.com 2019 - 2024. All rights reserved.