我创建了简单的 WPF 控件来监视日志文件中的更改。我使用 FileSystemWatcher 来监视特定文件。我的配置:
Directory = System.IO.Path.GetDirectoryName(logFileFullPath);
Filter = System.IO.Path.GetFileName(logFileFullPath);
NotifyFilter = (NotifyFilters.LastWrite | NotifyFilters.Size);
EnableRaisingEvents = true;
问题是只有在手动刷新目录或打开日志文件后才会显示更改。
我在 log4net 配置中使用 RollingFileAppender,因此应立即写入更改。
问题是:为什么它不起作用以及如何使其起作用?
EDIT :
此外,当我手动更新其他受监控文件时,观察器工作正常。所以这一定是 log4net 的问题。
我终于想出了解决方案。该问题与 FileSystemWatcher 关系不大。我的 log4net 配置缺少以下行:
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
它仍然很有趣,因为我从文本编辑器打开日志文件没有问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)