ekl*_*lxw 3 .net c# logging log4net filesystemwatcher
我创建了简单的 WPF 控件来监视日志文件中的更改。我使用 FileSystemWatcher 来监视特定文件。我的配置:
Directory = System.IO.Path.GetDirectoryName(logFileFullPath);
Filter = System.IO.Path.GetFileName(logFileFullPath);
NotifyFilter = (NotifyFilters.LastWrite | NotifyFilters.Size);
EnableRaisingEvents = true;
Run Code Online (Sandbox Code Playgroud)
问题是只有在手动刷新目录或打开日志文件后才会显示更改。
我在 log4net 配置中使用 RollingFileAppender,因此应立即写入更改。
问题是:为什么它不起作用以及如何使其起作用?
编辑 :
此外,当我手动更新其他受监控文件时,观察器工作正常。所以这一定是 log4net 的问题。
我终于想出了解决方案。该问题与 FileSystemWatcher 关系不大。我的 log4net 配置缺少以下行:
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
Run Code Online (Sandbox Code Playgroud)
它仍然很有趣,因为我从文本编辑器打开日志文件没有任何问题。
| 归档时间: |
|
| 查看次数: |
2270 次 |
| 最近记录: |