Serilog可使用哪些文件名占位符?

Kim*_*Kim 2 .net logging filenames serilog

我在带有RollingFile的.NET Core应用程序上使用Serilog。我想知道是否存在不同的文件名占位符?我只知道{日期}。

例如,我有类似的代码

        Log.Logger = new LoggerConfiguration()
            .MinimumLevel.Information()
            .WriteTo.RollingFile("Logs/{Date}.log")
            .CreateLogger();
Run Code Online (Sandbox Code Playgroud)

文件名还有其他选项吗,例如{Date}?我想按小时查看日志文件。

Igo*_*ils 10

更新:2022

因为“Serilog.Sinks.RollingFile”现在已过时,您应该使用“Serilog.Sinks.File”,但它很简单:

var log = new LoggerConfiguration()
    .WriteTo.File("log.txt", rollingInterval: RollingInterval.Day)
    .CreateLogger();
Run Code Online (Sandbox Code Playgroud)

这会将时间段附加到文件名中,创建一个文件集,如下所示:

log20180631.txt
log20180701.txt
log20180702.txt
Run Code Online (Sandbox Code Playgroud)

对于不同的选择:

在此输入图像描述

https://github.com/serilog/serilog-sinks-file


Cai*_*ete 5

在撰写本文时,Serilog的滚动文件接收器支持3个(三个)说明符:

  • {Date},其格式为 yyyyMMdd
  • {Hour},其格式为 yyyyMMddHH
  • {HalfHour},其格式为 yyyyMMddHHmm

您可以在“ 滚动文件”接收器的“ 自述文件”以及“滚动文件”接收器源代码中看到它。

  • 那么随着滚动文件接收器过时,这可以通过文件替换来实现吗? (2认同)