无法让 Serilog 写入 RollingFile 日志

Can't get Serilog to write to a RollingFile log

我正在尝试在 dotnet webapi 应用程序中使用 Serilog。我需要登录到控制台和滚动日志文件。

一切都出现在控制台上,但滚动日志文件中没有任何内容出现,我在任何地方都没有收到任何错误。

我在我的代码中设置了 serilog,如下所示:

// in program.cs Main
var configuration = new ConfigurationBuilder()
    .SetBasePath(BASEDIR)
    .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
    .Build();
Log.Logger = new LoggerConfiguration()
    .ReadFrom.Configuration(configuration)
    .Enrich.FromLogContext()
    .Enrich.With(new ThreadIdEnricher())
    .CreateLogger();

// startup.cs Configure
app.UseSerilogRequestLogging();

在 appsetting.json 我有

 {
  "Serilog": {
    "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
    "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft.AspNetCore.Mvc.Internal": "Warning",
        "Microsoft.AspNetCore.Authentication": "Warning",
        "Microsoft.AspNetCore": "Warning",
        "Microsoft": "Warning",
        "System": "Warning"
      }
    },
    "WriteTo": [
      {
        "Name": "Async",
        "Args": {
          "configure": [
            {
              "Name": "Console",
              "Args": {
                "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss} {Level:u1} TID:{ThreadId} {Message:lj}{NewLine}{Exception}",
                "theme": "Serilog.Sinks.SystemConsole.Themes.SystemConsoleTheme::Literate, Serilog.Sinks.Console"
              }
            }
          ]
        }
      },
      {
        "Name": "Async",
        "Args": {
          "configure": [
            {
              "Name": "RollingFile",
              "Args": {
                "pathFormat": "c:\logs\{Date}.log",
                "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss} {Level:u1} TID:{ThreadId} {Message:lj}{NewLine}{Exception}",
                "buffered": false,
                "rollingInterval": "Serilog.RollingInterval.Day, Serilog.Sinks.File",
                "retainedFileCountLimit": 7
              }
            }
          ]
        }
      }
    ]
  }
}

你试过改成静态文件名吗?路径存在吗?他们 github 页面的自述文件中的配置似乎与您的有点不同:https://github.com/serilog/serilog-sinks-file#user-content-json-appsettingsjson-configuration:~:text=node%2C%20%3A-,%7B,%7D,-See%20the%20XML 也可以尝试从在代码中进行设置然后返回到配置文件?