我创建了简单的WPF控件来监视日志文件中的更改。我使用FileSystemWatcher观看特定文件。我的配置:
Directory = System.IO.Path.GetDirectoryName(logFileFullPath);
Filter = System.IO.Path.GetFileName(logFileFullPath);
NotifyFilter = (NotifyFilters.LastWrite | NotifyFilters.Size);
EnableRaisingEvents = true;
问题在于,仅在手动刷新目录或打开日志文件后才显示更改。
我在log4net配置中使用RollingFileAppender,因此更改应立即写入。
问题是:为什么它不起作用以及如何使其起作用?
编辑:
另外,当我手动更新其他受监视文件时,观察程序也可以正常工作。因此,这一定是一些log4net问题。
我终于想出了解决方案。该问题与FileSystemWatcher无关。我的log4net配置缺少这一行:
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
仍然很有趣,因为我从文本编辑器打开日志文件没有问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句