我正进入(状态
该进程无法访问文件"MyFile.log",因为它正由另一个进程使用.
而我这样做
File.SetAttributes(filename,FileAttributes.Normal)
using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
{
// Do stuff with log4net log
}
Run Code Online (Sandbox Code Playgroud)
我已阅读其他帖子,但他们都建议我已经在做什么.还有其他建议吗?
谢谢.
Fel*_*ano 44
尝试使用最小锁定配置log4net:
<appender name="FileAppender" type="log4net.Appender.FileAppender">
...
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
...
</appender>
Run Code Online (Sandbox Code Playgroud)
或者,尝试使用以下命令打开日志文件:
using (var stream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Delete | FileShare.ReadWrite))
{...
}
Run Code Online (Sandbox Code Playgroud)
或检查此项目:Tailf 在任何情况下,删除无法工作的SetAttributes()部分. Tailf项目描述Tailf是unix/linux系统上可用的tail -f命令的C#实现.不同地形成其他端口它不会以任何方式锁定文件,因此即使其他文件重命名它也可以工作:这是特别适用于log4net滚动文件appender.
| 归档时间: |
|
| 查看次数: |
9149 次 |
| 最近记录: |