免费企业网站建设哪种,知名网站域名,wordpress 周生生,做网页的网站叫什么软件咨询区 JohnB#xff1a;我的程序使用的日志框架是 Serilog#xff0c;我是按天分割日志文件的#xff0c;由于每日文件都比较大#xff0c;我经常手工删除#xff0c;但这样做很傻#xff0c;请问日志框架有没有自动帮我删除 N 天之间的日志呢#xff1f;回答区 someth… 咨询区 JohnB我的程序使用的日志框架是 Serilog我是按天分割日志文件的由于每日文件都比较大我经常手工删除但这样做很傻请问日志框架有没有自动帮我删除 N 天之间的日志呢回答区 somethingRandom根据官方文档https://github.com/serilog/serilog-sinks-file/blob/dev/README.md#limits 默认保留文件个数是 retainedFileCountLimit 31这就意味着最多保留最近的31个文件当然你也可以手工去修改参考如下代码var log new LoggerConfiguration().WriteTo.File(log.txt, retainedFileCountLimit: 42).CreateLogger();如果不想限制文件个数可以设置retainedFileCountLimit null 。除了硬编码还可以通过 xml 进行配置。appSettingsadd keyserilog:using:File valueSerilog.Sinks.File /add keyserilog:write-to:File.path valuelog.txt /add keyserilog:write-to:File.retainedFileCountLimit value42/
/appSettings当然如何你的程序时 .NET Core 的话可在 appsetting.json 中做如下配置{Serilog: {WriteTo: [{ Name: File, Args: { path: log.txt, retainedFileCountLimit: 42 } }]}
}mihails.kuzminsSerilog 非常灵活即可以按天自动创建日志文件还可以设置最多保留多少个文件参考配置。{Serilog: {Using: [ Serilog.Sinks.File ],MinimumLevel: Debug,WriteTo: [{ Name: Console },{Name: File,Args: {path: App_Data\\Logs\\app_.log,rollingInterval: Day,fileSizeLimitBytes: 52428800,rollOnFileSizeLimit: true,retainedFileCountLimit: 100,retainedFileTimeLimit: 7.00:00:00, //Deletes files older than 7 daysoutputTemplate: {Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}}}]},
}更多细节参见。https://github.com/serilog/serilog-sinks-file/pull/90https://github.com/serilog/serilog-sinks-rollingfile/blob/dev/README.md点评区 .NET 有太多的日志框架比如nloglog4net其实我个人对 Serilog 持谨慎态度毕竟看过关于日志方面的坑都有它的踪影