Serilog配置只得到部分尊重

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

我在一个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...

Debug和Verbose级别被忽略。

我怎样才能在日志中添加较低的级别?

c# asp.net-core serilog
1个回答
1
投票

你的JSON模式不太正确。MinimumLevel 还有... Enrich 是顶层的。

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

进一步的例子 在README中.

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