Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 通过.NET Core中的配置文件配置日志记录_Asp.net Core_Logging_.net Core - Fatal编程技术网

Asp.net core 通过.NET Core中的配置文件配置日志记录

Asp.net core 通过.NET Core中的配置文件配置日志记录,asp.net-core,logging,.net-core,Asp.net Core,Logging,.net Core,我们正试图通过一个配置文件(默认的appsettings.json)为我们的ASP.NET核心应用程序配置日志记录。docu说它应该是可能的(),但我们不能让它像预期的那样工作 我们迄今为止所做的尝试: 保持代码在ASP.NET Core的项目模板中的原样,只需更改appsettings.json=>无效 显式地将appsettings.json添加为配置文件,并在Program.cs=>中配置日志记录 公共静态IHostBuilder CreateHostBuilder(字符串[]args

我们正试图通过一个配置文件(默认的appsettings.json)为我们的ASP.NET核心应用程序配置日志记录。docu说它应该是可能的(),但我们不能让它像预期的那样工作

我们迄今为止所做的尝试:

  • 保持代码在ASP.NET Core的项目模板中的原样,只需更改appsettings.json=>无效
  • 显式地将appsettings.json添加为配置文件,并在Program.cs=>中配置日志记录
公共静态IHostBuilder CreateHostBuilder(字符串[]args)=>
Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext,config)=>
{
config.Sources.Clear();
var env=hostingContext.HostingEnvironment;
config.AddJsonFile(“appsettings.json”,可选:false,reloadOnChange:true)
.AddJsonFile($“appsettings.{env.EnvironmentName}.json”,
可选:true,重载更改:true);
config.AddEnvironmentVariables();
})
.ConfigureLogging((hostingContext,logging)=>
{
logging.ClearProviders();
logging.AddConfiguration(hostingContext.Configuration.GetSection(“logging”));
})
.ConfigureWebHostDefaults(webBuilder=>
{
webBuilder.UseStartup();
});
  • 。。。在Startup.ConfigureServices=>中配置日志记录无效
public void配置服务(IServiceCollection服务)
{
services.AddLogging(config=>config.AddConfiguration(Configuration.GetSection(“Logging”));
services.AddControllers();
}

你误解了。您可以配置日志记录,即每个提供程序的日志级别、过滤消息等,但必须在代码中指定实际的提供程序。换句话说,您可以配置哪些消息通过配置发送到控制台,但仍必须在
ConfigureLogging
中调用
logging.AddConsole()
,以添加该提供程序

您拥有的代码清除所有默认提供程序,不添加任何内容,因此根本没有提供程序,因此不会生成日志。您无法通过配置实际添加提供程序,只需配置已添加的提供程序