#2553·spdlog

如果缺少一天,日常旋转不会删除最旧的文件

作者: daniele77创建于 2022年11月25日更新于 2026年8月4日

如果出于任何原因,旧文件有一份丢失(例如,因为有一天申请没有记录),那么最老的文件就不再被删除了. 例如,拥有这些文件:

myapp 2022-11-25.log (英语). (原始内容存档于2022-11-24). log. (原始内容存档于2022-11-23). log. myapp 2022-11-21.log (英语). 我的意见 2022-11-20.log

myapp 2022-11-21.log和我的app 2022-11-20.log不会永远被删除.

此函数引起问题:

https://GitHub.com/gabime/spdlog/blob/v1.x/Including/spdlog/sinks/daily file sink.h#L183 互联网档案馆的存檔,存档日期2014-12-21.

无效 init filenames q () { 使用详细信息:os:path sext;

文件名 q = 细节:: circular q (static cast < small t>(max files )); std:: vector < filename t> (中文(简体) ). (a) 文件名; 自动现在 = 日志 时: 现在( ); 时 (文件名. size () < max files ) { 自动文件名=文件名NameCalc:: calc filename(base filename ,现在 tm(现在)); 如果 (! path sexits (文件名)) // (% ) <------------------------------------------------------------------------------------------------------------------------------------------ --------------------------------------------------------------------------------------------------------------------- { 间断; {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? 文件名.emplace back(文件名); -=============================================================================================================================================================================================================================================================== {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? 用于(auto interer = 文件名.rbegin (); ter != 文件名.rend (); ++iter) { 文件名 q .push back(std:move (*iter)); ; 存档副本. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

我想一个修补可以是改变功能,这样它就可以用正确的模式来列举文件,并取出基于文件时间戳的最老的文件.