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