使用 FileSystemWatcher 观察 log4net 日志文件

2024-02-23

我创建了简单的 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(使用前将#替换为@)

使用 FileSystemWatcher 观察 log4net 日志文件 的相关文章

随机推荐