如何在 Serilog 中使用 reloadOnChange 和 LoggingLevelSwitch 的设置

How can I use settings with reloadOnChange and LoggingLevelSwitch in Serilog

在 .NET Core 2 中使用 Serilog 和 Serilog.Settings.Configuration,我想执行如下操作。可能吗?

appsettings.json

{
  "Serilog": {
    "MinimumLevel": {
      "ControlledBy": {
        "Serilog.Core.LoggingLevelSwitch": "Debug"
      }
    }
  }
}

program.cs

var configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("appsettings.json", reloadOnChange: true)
    //...
    .Build();

Log.Logger = new LoggerConfiguration()
    .ReadFrom.Configuration(configuration)
    //...
    .CreateLogger();

我的目的是修改配置文件并在不重新启动应用程序的情况下更改日志级别。

这可以直接使用正常的 "MinimumLevel": "Debug" 语法。