每次我的主程序运行时,它都会将大约 6 行(总共大约 50 个字符)写入日志文件。
如何防止此文件无休止地增长?我想将文件保持在 2MB 以下,并将新文本添加到文件末尾并删除文件开头的文本。
FileInfo txtfile = new FileInfo(nameOfFile);
if (txtfile.Length > (2 * 1024 * 1024)) // ## NOTE: 2MB max file size
{
var lines = File.ReadAllLines(nameOfFile).Skip(10).ToArray(); // ## Set to 10 lines
File.WriteAllLines(nameOfFile, lines);
}
只有当文件超过 2MB(大小,而不是磁盘大小)时,上面的代码才会运行。它将从文件中删除前 10 行并将剩余的行写回文件中。
我已经设法通过一小段代码让它按照我需要的方式工作,并认为我会在这里分享它以帮助减少人们提出同样的问题。希望它能帮助有同样问题的人。
对于我的解决方案,我还没有发现此过程存在任何问题,但如果这不正确,请随时添加任何评论。
对于 Web 应用程序,您还可以定义最大请求长度的值。
<system.web>
<httpRuntime maxRequestLength="15000" />
</system.web>