C# ILoggingBuilder在Appsettings Json中记录日志级别不';似乎在Azure日志流或Blob日志中未确认

C# ILoggingBuilder在Appsettings Json中记录日志级别不';似乎在Azure日志流或Blob日志中未确认,c#,azure,logging,asp.net-core-2.1,C#,Azure,Logging,Asp.net Core 2.1,我已经创建了一个新的.net core 2.1 web应用程序并部署到Azure,而日志流和应用程序日志记录到Blob存储似乎并不符合我的日志记录配置 我在Visual Studio 2019中为.net core 2.1 web应用程序创建了一个新的解决方案和一个新项目。在主控制器索引路由中,我们添加了一个行日志,其中包含如下信息: private readonly ILogger<HomeController> _logger; public HomeController(IL

我已经创建了一个新的.net core 2.1 web应用程序并部署到Azure,而日志流和应用程序日志记录到Blob存储似乎并不符合我的日志记录配置

我在Visual Studio 2019中为.net core 2.1 web应用程序创建了一个新的解决方案和一个新项目。在主控制器索引路由中,我们添加了一个行日志,其中包含如下信息:

private readonly ILogger<HomeController> _logger;

public HomeController(ILogger<HomeController> logger)
{
    _logger = logger;
}

public IActionResult Index()
{
    _logger.LogInformation("=========================================");
    _logger.LogError("=========================================");
    return View();
}
以下是我的appsettings.json文件:

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Information",
      "System": "Error",
      "Microsoft": "Error"
    },
    "AzureAppServicesBlob": {
      "LogLevel": {
        "Default": "Information",
        "Microsoft": "Error",
        "System": "Error"
      }
    },
    "AzureAppServicesFile": {
      "LogLevel": {
        "Default": "Information",
        "Microsoft": "Error",
        "System": "Error"
      }
    }
  }
}
Azure Web App中设置的环境变量:

Program.cs和Startup.cs未从项目模板中修改

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

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>();
公共类程序
{
公共静态void Main(字符串[]args)
{
CreateWebHostBuilder(args.Build().Run();
}
公共静态IWebHostBuilder CreateWebHostBuilder(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.UseStartup();

为什么不遵守我的日志级别?

在过去,我使用以下方法来配置Azure日志提供程序

"AzureAppServicesDiagnosticsSettings": {
  "Microsoft": "Warning"
}
但是查看该提供程序现在已经过时,并被AzureFileLoggerOptions和AzureBloggerOptions取代(请参阅)


不过,我还没有测试这些配置选项中的任何一个,以了解它们是否工作相同。

通过将这些设置放在我的appsettings.development.json文件中,我终于能够使其工作了:

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

虽然过时。我确实尝试过,但没有效果。但更糟糕的是,我已经清除了提供程序并关闭了日志记录,但仍然看到我的blob和日志流中充满了信息!下面的两个配置日志记录设置似乎都没有任何效果:`logBuilder.AddFilter((提供程序、类别、日志级别)=>{return false;}).ClearProviders();})“.ConfigureLogging(logging=>logging.SetMinimumLevel(LogLevel.Error))`
{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Information",
      "System": "Error",
      "Microsoft": "Error"
    },
    "AzureAppServicesBlob": {
      "LogLevel": {
        "Default": "Information",
        "Microsoft": "Error",
        "System": "Error"
      }
    },
    "AzureAppServicesFile": {
      "LogLevel": {
        "Default": "Information",
        "Microsoft": "Error",
        "System": "Error"
      }
    }
  }
}