如何从日志文件中读取日志
本文关键字:日志 读取 文件 | 更新日期: 2023-09-27 18:19:06
根据以下帖子中发布的解决方案,我创建了读取日志文件的表单
BackgroundWorker,定时器,只读取日志文件的新行?
然而,当我写日志条目时,我得到file in use
异常。
当我做这样的文件访问/操作时,我通常要注意两件事。
首先,我使用以下代码(参见FileShare枚举):
using (Stream s = File.Open(path, FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite)) { ... }
第二,我通常写一个while循环来打开文件进行读写,像这样(代码草案):
int tries=0;
while (tries < 10) {
try {
// try to open file for your operation
break;
} catch (IOException) {
tries++;
Thread.Sleep(200);
}
}
编辑:我不小心使用了FileShare。在我的答案中第一次读取而不是更合适的filesshare . readwrite。
您需要确保您的日志读取代码以读写模式打开文件。请参阅另一篇文章的精彩答案,以获得完整的解释:我如何使用。net StreamReader打开已打开的文件?