log4net奇怪的文件名行为

时间:2016-09-07 12:19:58

标签: c# asp.net web-config log4net

我有一个使用log4net的ASP.Net应用程序,我喜欢有一个每日日志文件,所以我的配置看起来像:

<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
  <file type="log4net.Util.PatternString" value="log\log_%property{log4net:HostName}_" />
  <appendToFile value="true" />
  <staticLogFileName value="false" />
  <rollingStyle value="Date" />
  <datePattern value="yyyyMMdd'.txt'" />
  <maxSizeRollBackups value="7" />
  <maximumFileSize value="10MB" />
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%-5level] (%logger)(%thread) %message %newline" />
  </layout>
</appender>

有时,会出现奇怪的命名模式文件,看起来没有理由(至少不是因为文件大小最大),出了什么问题?

enter image description here

1 个答案:

答案 0 :(得分:0)

您的应用程序标识(应用程序池标识)对log文件夹没有足够权限的可能问题之一。尝试为更强大的用户更改应用程序标识,或者为其提供更多权限(完全可以控制)。

您的第一个日志文件log_smv-prod-app07_20160907.txt被另一个进程锁定的另一个可能原因(您可以使用procmon.exe找到它)。因此log4net无法写入并创建新的日志文件log_smv-prod-app07_20160907.txt20160907.txt。试着找出谁锁定它,我希望你能找到解决方案。