首页 > 解决方案 > Log4Net 停止记录,如何恢复?

问题描述

我有一个 log4net (c#, WinForms) 的问题,如果出现暂时性故障(例如由于 VMware 快照而导致网络共享在几秒钟内无法访问),它将停止记录,并且似乎没有记录的方法可以从中恢复中断 - 它只是停止记录,直到应用程序重新启动。版本:v2.0.8

App.config 部分:

<log4net>
    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender" >
      <file type="log4net.Util.PatternString" value="K:\SomeApp-%property{log4net:HostName}-log.txt" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="40" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <errorHandler type="Acme.BusinessLayer.Log4NetErrorHandler" />
      <layout type="log4net.Layout.PatternLayout">
        <header value="[START] " />
        <footer value="[END] " />
        <conversionPattern value="%date %-5level %logger - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="RollingFileAppender" />
    </root>
</log4net>

注意:我正在使用 log4net.Core.IErrorHandler,以便我可以发送一封关于该问题的电子邮件。

当日志文件再次可访问时(通常只需几秒钟),如何恢复/重新启动日志记录?

标签: c#winformslog4net

解决方案


推荐阅读