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

What file name placeholders are available for Serilog?

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

例如,我有这样的代码

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

文件名是否还有其他选项,例如 {Date}?我想按小时获取日志文件。

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

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

您可以在 README of the Rolling File sink, as well as in the source code of the Rolling File sink 中看到它。

因为“Serilog.Sinks.RollingFile”现在已经过时了你应该使用“Serilog.Sinks.File” 不过也很简单:

var log = new LoggerConfiguration()
    .WriteTo.File("log.txt", rollingInterval: RollingInterval.Day)
    .CreateLogger();

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

log20180631.txt
log20180701.txt
log20180702.txt

不同的选择:

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