.net 哪些文件名占位符可用于Serilog?

zdwk9cvp  于 2023-07-01  发布在  .NET
关注(0)|答案(3)|浏览(92)

我在.NET Core应用程序上使用Serilog和RollingFile。我想知道,如果有不同的文件名占位符?我只知道日期。
例如,我有这样的代码

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

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

p1iqtdky

p1iqtdky1#

在撰写本文时,Serilog的Rolling File sink支持3(三)个说明符:

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

您可以在Rolling File接收器的README以及source code of the Rolling File sink中看到它。

pdsfdshx

pdsfdshx2#

更新时间:2022年

因为“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

tyg4sfes

tyg4sfes3#

您还可以将环境变量作为%USERNAME%添加到appsettings.json中

相关问题