我正在分析我们系统的一个转储文件,我遇到了这个例外 . 例外情况发生在 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)进行日志记录,并且检查了只有一个应用程序使用日志文件 .