Asp.net core 通过.NET Core中的配置文件配置日志记录
我们正试图通过一个配置文件(默认的appsettings.json)为我们的ASP.NET核心应用程序配置日志记录。docu说它应该是可能的(),但我们不能让它像预期的那样工作 我们迄今为止所做的尝试: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
- 保持代码在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()
,以添加该提供程序
您拥有的代码清除所有默认提供程序,不添加任何内容,因此根本没有提供程序,因此不会生成日志。您无法通过配置实际添加提供程序,只需配置已添加的提供程序