【发布时间】:2019-07-04 14:04:21
【问题描述】:
开始使用 NLog。主进程(Windows 服务)每隔几秒就会写入日志文件。我需要允许另一个进程(桌面应用程序)在任意时间读取此文件(桌面应用程序不需要写入权限)。
但问题是 NLog 在打开文件进行写入时可能会创建一个排他锁。所以如果桌面进程在文件被锁定时试图读取,就会抛出异常。
如何配置 NLog 以允许其他进程对日志文件内容具有只读访问权限,即使主进程已将其打开以进行写入?桌面进程将调用File.ReadAllText(),我希望这对于并发操作是安全的。
(我通读了文档,发现 NLog 甚至允许从不同进程并发写入日志文件,因此理论上只读访问应该更容易。但我看不到任何解决方案)。
【问题讨论】: