我想配置Serilog为每个应用运行创建一个日志文件
文件名应基于当前日期/时间:
第一次运行:log_20180413_1020.txt
第二次运行: log_20180413_1033.txt
我没有找到如何在任何文件接收器中进行操作(Rolling,Alternative ..)
任何线索?
答案 0 :(得分:3)
配置Serilog.Sinks.File
接收器,没有任何滚动周期或大小限制,并在启动时配置日志记录时将时间戳添加到日志文件名中:
string timestamp = DateTime.Now.ToString("yyyyMMdd_HHmm");
var log = new LoggerConfiguration()
.WriteTo.File($"log{timestamp}.txt")
.CreateLogger();
根据自述文件的Rolling Policies部分:
同时指定
rollingInterval
和rollOnFileSizeLimit
会导致同时应用这两个策略,而 同时指定两个策略都不会导致所有事件都写入单个文件。 < / em>的