如何阻止Microsoft.Extensions.Logging.LoggerFactory给日志文件名加额外日期
解决日志文件名自动追加额外日期的问题
你遇到的问题是因为所使用的AddFile扩展方法默认会自动向文件名追加日期后缀,即便你已经自定义了包含时间戳的文件名。以下是具体修复方案:
修复代码(针对Serilog.Extensions.Logging)
如果你的AddFile来自Serilog的日志扩展,只需在配置中添加rollingInterval: RollingInterval.Infinite,关闭自动滚动日志的行为即可:
var loggerFactory = LoggerFactory.Create(builder => { builder.AddFile( pathFormat: Path.Combine(logDirectory, $"test.{DateTime.Now.ToString("yyyyMMdd-HHmmss")}.log"), rollingInterval: RollingInterval.Infinite ); });
通用解决思路
如果使用的是其他日志库的AddFile方法,核心逻辑一致:
- 找到关闭自动滚动/日期追加的配置项(通常命名为
rollingInterval、rollOnFileSizeLimit或类似参数) - 将滚动间隔设置为无限,或直接禁用日志滚动功能
效果验证
修改后生成的文件名会符合预期,即test.20250103-192654.log,不会再额外追加日期后缀。
内容的提问来源于stack exchange,提问作者martin
相关产品推荐
相关产品推荐

