如何使用 Serilog RollingFile 接收器启用多个文件?

How to enable multiple files with Serilog RollingFile sink?

我的水槽设置如下:

"WriteTo": [
  {
    "Name": "RollingFile",
    "Args": {
      "pathFormat": "log-{Date}.log",
      "fileSizeLimitBytes": 20000000,
    }
  }
]

我的理解是,一旦 log-06042019.log 文件达到 20000000 字节,它将开始记录到 log-06042019-001.log,然后到 log-06042019-002.log 等等。

但这并没有发生。它只是停止记录直到第二天。
为了启用此水槽的滚动特性,我是否遗漏了一些简单的东西?

您不应再使用 RollingFile 接收器。相反,使用 File Sink.

文件接收器具有以特定大小翻转的设置。这是 C# 配置:

.WriteTo.File("log.txt", rollOnFileSizeLimit: true)

或appsettings.json:

{
  "Serilog": {
    "WriteTo": [
      { "Name": "File", "Args": { "path": "log.txt", "rollOnFileSizeLimit": "true" } }
    ]
  }
}