CodeGo.net>用FileSystemWatcher观看log4net日志文件

我创建了简单的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" />

仍然很有趣,因为我从文本编辑器打开日志文件没有问题.

上一篇:C#-log4net-仅创建一个日志文件


下一篇:c#-Simple Injector是否可以结合TypeFactoryContext向实例工厂注册?