0
我log4net的配置是:log4net的RollingFileAppender进行意想不到的文件名时,文件已经打开
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\LogFiles\Staging_WebAQPro\s_waq_" />
<datePattern value="yyyy-MM-dd'.log'" />
<staticLogFileName value="false" />
<preserveLogFileNameExtension value="true" />
<appendToFile value="true" />
<countDirection value="1" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="-1" />
<maximumFileSize value="10MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%d]: %15property{adrs}: %4t: %5p: %m%n" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
和IIS w3wp进程开始时,我得到的预期文件名: s_waq_2015-07-13.0.log
但是,当IIS回收进程时,我得到文件名(这有点令人厌恶): s_waq_2015-07-13.02015-07-13.log.0.log
这是因为IIS保留旧进程周围,同时新流程即将启动。新进程无法打开预期的文件名,因为它仍在使用中。我不想使用最小限度的锁定,因为它慢得多(并且这个问题每天只发生一次)。
有关如何在这种情况下获得更合理的文件名的任何想法?
非常感谢 罗尼