【问题标题】:log4net strange file name behaviorlog4net 奇怪的文件名行为
【发布时间】:2016-09-07 12:19:57
【问题描述】:

我有一个使用 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>

有时,出现奇怪的命名模式文件,看起来没有原因(至少不是由于最大文件大小),这是怎么回事?

【问题讨论】:

  • 我必须从我的 log4net 集成中检查我的笔记,但我相信当使用滚动样式日期和最大文件大小时会发生此问题。尝试注释掉文件大小,看看问题是否仍然存在。一旦我找到关于这个主题的笔记,我会尝试稍后回帖。这也可能是由于您的日期模式包含 fil 扩展名,但我不确定那里可用的选项。

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


【解决方案1】:

您的应用程序标识(应用程序池标识)对log 文件夹没有足够的权限可能存在的问题之一。尝试为更强大的用户更改应用程序身份或授予它更多权限(确保完全控制)。

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

【讨论】:

  • 应用程序池已经获得了管理员权限,它无法解释为什么它只会在某个时候发生......
猜你喜欢
  • 2021-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-30
  • 1970-01-01
  • 1970-01-01
  • 2013-11-27
  • 1970-01-01
相关资源
最近更新 更多