如何在运行时更新/重新加载由 appsettings.json 配置的 LogLevel?

问题描述 投票:0回答:1

我正在开发一个 .NET6 Kestrel 应用程序,使用 appsettings.json 进行配置和 默认控制台日志记录

我尝试做的是,我想在运行时更改日志级别。但是,到目前为止,日志级别仅在重新启动时更新。

除了 reloadOnChange=true 之外,我是否还缺少其他内容?

相关代码如下: Code

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>();

提前谢谢大家!

c# logging .net-6.0 appsettings kestrel
1个回答
0
投票

您不需要手动添加这些文件,因为

CreateDefaultBuilder
已经为您处理好了。

此外,当您在 Visual Studio 中运行应用程序时,它会自动设置“Development”环境变量(如 launchSettings.json 中指定)。因此,

appsettings.development.json
文件将优先。因此,请确保您在与当前环境相对应的正确文件中进行更改。

© www.soinside.com 2019 - 2024. All rights reserved.