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

时间:2019-06-04 17:39:40

标签: c# asp.net-core .net-core serilog

我的水槽设置如下:

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

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

但这不会发生。它只是停止记录直到第二天。
我是否缺少一些简单的东西以便启用此接收器的滚动特性?

1 个答案:

答案 0 :(得分:2)

您不应再使用RollingFile接收器。而是使用File Sink

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

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

或appsettings.json:

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