如何在翻转时使Serilog覆盖以前的日志文件?

时间:2019-10-09 02:58:04

标签: c# .net serilog

基本上是标题。我希望Serilog在过渡时覆盖日志文件,而不要创建log-001,log-002等。从参考文献中看来,似乎没有任何选择可以做到这一点。

当然,可以查询文件大小,如果文件太大,则将其删除。但是,有什么办法可以在Serilog内部进行处理吗?

1 个答案:

答案 0 :(得分:1)

更新:这是一个垃圾答复,但是考虑到尼古拉斯·布鲁姆哈特(Nicholas Blumhardt)的评论,我想我可以做得更好

签出FileLoggerConfigurationExtensions

 //   rollOnFileSizeLimit:
 //     If true, a new file will be created when the file size limit is reached. Filenames
 //     will have a number appended in the format _NNN, with the first filename given
 //     no number.

我认为结合使用retainedFileCountLimitfileSizeLimitBytesrollOnFileSizeLimit可以接近一个文件:)

以下配置应产生2个文件:

.WriteTo.File(
   logFilePath,
   rollOnFileSizeLimit: true,
   fileSizeLimitBytes: 1_000_000,
   retainedFileCountLimit: 2))