我想要读取log4net的日志文件:
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)
我得到了主题上指定的异常。我猜测是log4Net在文件上持有独占锁,但是,例如Notepad++可以读取该文件,所以我猜这在技术上是可能的。
有任何帮助吗?
我想要读取log4net的日志文件:
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)
我得到了主题上指定的异常。我猜测是log4Net在文件上持有独占锁,但是,例如Notepad++可以读取该文件,所以我猜这在技术上是可能的。
有任何帮助吗?
using (FileStream fs =
new FileStream(filePath,
FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
//...
http://msdn.microsoft.com/zh-cn/library/system.io.fileshare.aspx
你的日志文件可能被写锁定了,所以请尝试使用FileShare.ReadWrite。
尝试添加FileShare选项,看看是否有帮助:
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
编辑:更正代码,不是使用FileShare.Read
而是FileShare.ReadWrite
即可解决问题(正如Guillaume所示)。原因是:您想打开文件并允许其他人同时读写它。