我正在开发一个 .NET6 Kestrel 应用程序,使用 appsettings.json 进行配置和 默认控制台日志记录。
我尝试做的是,我想在运行时更改日志级别。但是,到目前为止,日志级别仅在重新启动时更新。
除了 reloadOnChange=true 之外,我是否还缺少其他内容?
相关代码如下:
static void Configure(IConfigurationBuilder config)
{
config.AddJsonFile("appsettings.json", false, true);
config.AddEnvironmentVariables();
}
ConfigurationBuilder cb = new();
Configure(cb);
IConfigurationRoot configuration = cb.Build();
IWebHostBuilder webHost = WebHost
.CreateDefaultBuilder(args)
.ConfigureLogging(c =>
{
c.AddConfiguration(configuration);
c.AddConsole();
})
.ConfigureAppConfiguration(Configure)
.UseStartup<TStartup>();
提前谢谢大家!
CreateDefaultBuilder
已经为您处理好了。
此外,当您在 Visual Studio 中运行应用程序时,它会自动设置“Development”环境变量(如 launchSettings.json 中指定)。因此,
appsettings.development.json
文件将优先。因此,请确保您在与当前环境相对应的正确文件中进行更改。