Dot-Net

將 Serilog 文件接收器配置為每次應用程序執行使用一個日誌文件

  • April 13, 2018

我想將 Serilog 配置為每次執行應用程序創建一個日誌文件。

文件名應基於目前日期/時間:

第一次執行: log_20180413_1020.txt

第二次執行: log_20180413_1033.txt

我沒有在任何文件接收器(滾動,替代..)中找到如何做到這一點

任何線索?

配置接收Serilog.Sinks.File器沒有任何滾動週期或大小限制,並在啟動時配置日誌記錄時將時間戳添加到日誌文件名:

string timestamp = DateTime.Now.ToString("yyyyMMdd_HHmm");
var log = new LoggerConfiguration()
   .WriteTo.File($"log{timestamp}.txt")
   .CreateLogger();

根據自述文件的滾動策略部分:

同時指定rollingIntervalandrollOnFileSizeLimit將導致兩個策略都被應用,而同時指定兩者都不會導致將所有事件寫入單個文件。

引用自:https://stackoverflow.com/questions/49822263