【发布时间】:2013-05-25 00:04:58
【问题描述】:
我有一个运行良好的日志记录应用程序,但我想应用保持日志文件大小的功能 - 阻止它变得太大。
理想情况下,我想定期检查文件的大小,如果超过配置的大小(5MB 或其他),请从头开始删除,直到达到某个大小,例如 4MB。 p>
通过阅读其他问题,我仍然不清楚是否可以在不阅读文件全部内容的情况下更新/删除文件。我的理想情况是:
if(filesize > 5MB)
{
while(filesize > 4MB)
Delete_First_X_Many_Lines(file);
}
提前感谢您的任何指示和指导。
【问题讨论】:
-
我知道您可以修改文件的一部分,而无需读取整个文件。但是从头删除呢?我担心这是不可能的(尽管我可能错了)
-
是否有机会使用现有的日志框架,如 NLog 或 log4net?他们已经有了这个功能,而且还有很多很多。
-
我认为您将不得不阅读并写回您想要保留的内容。但是,知道要写回多少将是一个问题。或者像 Ryan 建议的那样......使用已经有人完成繁重工作的第 3 方库。
标签: c# text-files filesize