C# ASP.NET Core 3.1,仅将特定消息记录到Azure日志流控制台

C# ASP.NET Core 3.1,仅将特定消息记录到Azure日志流控制台,c#,azure,asp.net-core,C#,Azure,Asp.net Core,我有一个ASP.NET Core 3.1 API在Microsoft Azure应用程序服务上运行 我在应用程序中设置了一个ILogger,并广泛使用它来监视API的行为。我希望能够在应用程序门户的Azure日志流中实时查看这些消息 在将AzureWebAppDiagnostics注册到Program.cs中后,我成功地获取了日志,如下所示: public class Program { public static void Main(string[] args)

我有一个ASP.NET Core 3.1 API在Microsoft Azure应用程序服务上运行

我在应用程序中设置了一个
ILogger
,并广泛使用它来监视API的行为。我希望能够在应用程序门户的Azure日志流中实时查看这些消息

在将
AzureWebAppDiagnostics
注册到
Program.cs
中后,我成功地获取了日志,如下所示:

 public class Program
 {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureLogging(logging =>
                {
                    logging.ClearProviders();
                    logging.AddConsole();
                    logging.AddAzureWebAppDiagnostics();
                })
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
       }
    }
与系统消息混合并被淹没:实体框架命令、
Microsoft.Hosting.life
消息和多条其他信息性消息

如何设置系统,使我只能从系统中获取错误/警告消息,并从我的应用程序代码中获取信息性消息

我尝试如下更改
appsettings.json
,但似乎没有任何效果:

"Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Error",
      "Microsoft.Hosting.Lifetime": "Error",
      "Microsoft.*": "Error",
      "System": "Error",
      "Microsoft.EntityFrameworkCore.*": "Warning" 
    }
  }
我还删除了
appsettings.development.json
文件,以防万一


我做错了什么?

配置中没有通配符。它只是一个名称空间前缀:使用Microsoft.EntityFrameworkCore作为属性名。

事实上,经过仔细研究后,提供了解决方案

您需要将AzureAppServicesBlob和AzureAppServicesFile配置添加到配置文件中,它们似乎是Azure日志流考虑的配置

因此,我添加了以下部分:

"AzureAppServicesBlob": {
  "LogLevel": {
    "Default": "Information",
    "Microsoft": "Error",
    "System": "Error"
  }
},
"AzureAppServicesFile": {
  "LogLevel": {
    "Default": "Information",
    "Microsoft": "Error",
    "System": "Error"
  }
}

这不是它不工作的原因,我可以看到Hosting.life信息日志,尽管名称空间是正确的。
"AzureAppServicesBlob": {
  "LogLevel": {
    "Default": "Information",
    "Microsoft": "Error",
    "System": "Error"
  }
},
"AzureAppServicesFile": {
  "LogLevel": {
    "Default": "Information",
    "Microsoft": "Error",
    "System": "Error"
  }
}