使用serilog创建扩展名为.bak的日志备份文件

时间:2019-04-02 02:18:16

标签: serilog

我正在使用Serilog框架登录我的应用程序。我给的文件大小限制为2MB。因此,当文件达到2MB时,将使用app_001.log之类的文件创建新文件,现有的app.log文件是备份文件。 但是我想做的是,当文件达到2MB时,应将app.log重命名为app.log.bak并将新日志写入新创建的app.log文件。

 _logger = new LoggerConfiguration()
                            .MinimumLevel.Debug()
                            .WriteTo.File(_filepath, restrictedToMinimumLevel: LogEventLevel.Debug, shared: true, rollOnFileSizeLimit: true, fileSizeLimitBytes: 2000000)
                             .CreateLogger();

1 个答案:

答案 0 :(得分:0)

您可以创建一个派生自 FileLifecycleHooks 的类并覆盖 OnFileOpened 并添加一些逻辑来检查 app_*.log 文件是否存在并将它们重命名为 app_*.bak。< /p>

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