【问题标题】:log4Net RollingFileAppender Does Not "Roll"log4Net RollingFileAppender 不“滚动”
【发布时间】:2016-11-08 13:10:58
【问题描述】:

我正在使用 log4Net 从应用程序中捕获事务数据,以帮助调试问题/错误。最近,它在文件大小达到 10MB 后并没有创建新文件,它只是停止记录数据。我在网上查看,发现一个消息来源说我需要添加一个互斥锁,所以我做了,没有任何改变。我的附加程序和根级别部分如下:

<!-- Appenders section -->
<log4net>
  <appender name="file" type="log4net.Appender.RollingFileAppender">
    <file value="c:\programs\DocIt\production\documakerError.log"/>
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="10MB" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%d{yyyy-MM-dd HH:mm:ss.fff} [%thread] %-5p %c - %m%n"  />
    </layout>
    <lockingModel type="log4net.Appender.FileAppender+MutexLock" />
  </appender>
<!-- root section -->
<root>
  <level value="DEBUG"/>
  <appender-ref ref="file" />
</root>

感谢您的帮助。

【问题讨论】:

  • 是因为你在配置中设置了限制&lt;maximumFileSize value="10MB" /&gt;
  • 根据我对 log4Net 的理解,maximumFileSize 是文件在创建另一个文件之前将达到的大小(在 rollingFileAppender 中)。
  • 这个配置没有问题,它几乎一字不差地匹配我的(除了你添加的锁定模型,我的是 4096KB 大小)
  • 您知道 log4Net 的任何其他问题/原因,它不会创建滚动文件吗?
  • 可能是权限问题?它是否能够在该文件夹中创建文件?

标签: c# logging log4net error-logging


【解决方案1】:

我找到了无法让 log4Net 滚动文件的原因。我们的服务帐户似乎对文件共享的修改权限已被撤销。这允许服务帐户创建新文件,但无法重命名它们;这对于 RollingFileAppender 至关重要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 1970-01-01
    • 2011-10-17
    • 2011-07-17
    相关资源
    最近更新 更多