我正在分析我们系统的一个转储文件,我遇到了这个例外 . 例外情况发生在 log4net!log4net.Appender.RollingFileAppender.RollFile(System.String, System.String) 方法中 .

异常对象:0000004ec453a8a8异常类型:System.IO.IOException消息:进程无法访问该文件,因为该文件正由另一个进程使用 . InnerException:StackTrace(生成):SP IP功能

000000521608CB60 00007FFE0634E134 mscorlib_ni!System.IO .__ Error.WinIOError(Int32,System.String)0xd4cfb4

000000521608CBB0 00007FFE05DE296E mscorlib_ni!System.IO.File.InternalMove(System.String,System.String,Boolean)0x15e

000000521608CC20 00007FFDA9DEC700 log4net!log4net.Appender.RollingFileAppender.RollFile(System.String,System.String)0x130

除此之外,转储中没有任何信息,并且只有一个此例外实例 .

我理解错误的是,有些线程正在将日志写入文件,同时,log4Net尝试将文件写入 Roll ,但抛出异常,它已经在使用中 .

这是对的吗?怎么可以避免这个?该文件未滚动,因此当新的日志条目进入并且最后一个日志条目将丢失时,是否会尝试再次滚动?

我们使用log4Net(RollingFileAppender)进行日志记录,并且检查了只有一个应用程序使用日志文件 .