【问题标题】:How to enable multiple files with Serilog RollingFile sink?如何使用 Serilog RollingFile 接收器启用多个文件?
【发布时间】:2019-06-04 17:39:40
【问题描述】:

我的接收器设置如下:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    或 appsettings.json:

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

    【讨论】:

    • 我打算这样做。 rollOnFileSizeLimit 功能是否同时可用于 RollingFile - 以便我可以更新它。
    • @AngryHacker 为什么不试试看呢?或者只是将它换成正确的水槽?
    • 我要试一试——我想你可能已经知道了。
    • @AngryHacker 不,我不知道。我倾向于忽略文件接收器,而倾向于记录到Seq。通过简单而强大的功能将数据过滤到您正在寻找的内容,让您登录到一个集中位置要容易得多。
    猜你喜欢
    • 1970-01-01
    • 2017-04-14
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多