Serilog 配置只得到部分尊重

Serilog configuration is only partially respected

我在 ASP.NET Core 3.1 项目中使用 Serilog.AspNetCore 3.2.0 和 Serilog.Sinks.File 4.2.0,我的 appsettings.json 中有以下配置:

"Serilog": {
    "WriteTo": [
      {
        "Name": "File",
        "MinimumLevel": "Verbose",
        "Enrich": "FromLogContext",
        "Args": {
          "path": "Server1_.log",
          "rollingInterval": "Day",
          "buffered": "false",
          "restrictedToMinimumLevel": "Verbose"
        }
      }
    ]
  }

我使用以下配置我的服务:

.UseSerilog(
(hostingContext, loggerConfiguration) 
   => loggerConfiguration.ReadFrom.Configuration(hostingContext.Configuration)
)

当我更改输出文件名时,它会相应地更改。

我使用以下代码进行测试:

Log.Information("Starting...");
Log.Debug("Starting...");
Log.Warning("Starting...");

这是输出:

2020-06-03 12:05:23.372 +02:00 [INF] Starting... 
2020-06-03 12:05:23.372 +02:00 [WRN] Starting...

忽略调试和详细级别。

如何向日志添加较低级别?

您的 JSON 架构不太正确; MinimumLevelEnrich 是顶级:

  "Serilog": {
    "MinimumLevel": "Verbose",
    "Enrich": ["FromLogContext"],
    "WriteTo": [
      {
        "Name": "File",
        "Args": {
          "path": "Server1_.log",
          "rollingInterval": "Day",
          "buffered": "false",
          "restrictedToMinimumLevel": "Verbose"
        }
      }

更多示例 in the README