读取连续附加的文件可能会导致问题



我们在另一台服务器上创建了日志文件,并使用连续添加状态和错误日志

using (StreamWriter sw = File.AppendText(path))
{
}

这些都在远程Windows机器上,我们通常会经历远程连接和通过记事本读取文件的乏味过程。因此,我正在考虑创建一个应用程序,以便在本地复制文件(使用类似File.Copy()的东西),或者查看文件的当前快照或逐行查看(使用类似于FileInfo(path).OpenText().ReadLine().ReadToEnd()的东西)。

我的问题是,如果我进行这些读取,是否会有问题或冲突导致正在运行的记录器出现异常?记录器集成到主服务应用程序中,我不想因为读取日志文件而使我们的服务崩溃。

理论上,对于"fine"的某些含义,它应该是"fine"。

File.AppendText()返回的StreamWriter使用FileShare.Read打开文件,这允许其他进程读取该文件,即使该文件已打开进行写入。在轮询端,您需要确保使用FileShare.Write打开文件,以允许其他进程(例如日志记录进程)打开文件,即使您已经打开文件进行读取。

当然,您可能会时不时地读取部分数据。所以我想这在一定程度上取决于你对"冲突"的定义但至少可以在不导致记录器抛出异常的情况下使其工作。

相关内容

  • 没有找到相关文章

最新更新